VC++修改DNS
? ? ? ? ?做了一個修改DNS的工具 ,主要是用ShellExecute()調用Dos命令。下面列出主要的部分,我把它放在了一個線程里。
?
WORD WINAPI CDNSDlg::ThreadFun(LPVOID lpParam) {CString temp; char err[1024]={0}; FILE *fp; /// fp = fopen("c:\\Myinfo.txt","w"); if(fp == NULL) return FALSE; fclose(fp);/// CString str = "/c netsh interface ip set dns name =\"本地連接\" source=static addr=8.8.8.8 register=primary >>c:\\Myinfo.txt";ShellExecute(NULL, "open", "cmd.exe", str, NULL, SW_HIDE); ShellExecute(NULL,"open","cmd.exe","/c ipconfig/flushdns > C:\\Myinfo.txt",NULL,SW_HIDE);Err.Empty(); temp.Empty(); memset(err,0,sizeof(err)); OPEN: fp = fopen("c:\\Myinfo.txt","r"); if(fp == NULL) {goto OPEN; return 0; } Start: while(!feof(fp)) { fgets(err,255,fp); if(strlen(err)!=1) {temp = err; Err = Err+temp;} } fflush(fp);if(Err.GetLength()==0) {fseek(fp,0,SEEK_SET);goto Start;return 0; }else{CDNSDlg *dlg; dlg = (CDNSDlg*)lpParam; if (Err.Find("因為另一配置")!=-1) { dlg->MessageBox("操作失敗,"+Err,"提示",MB_OK); dlg->m_str ="修改失敗"; dlg->UpdateData(false); return 0; } dlg->m_str = "修改成功"; dlg->UpdateData(false); dlg->MessageBox("修改成功","提示",MB_OK);}return 0; }總結
- 上一篇: 阿里云CDN+点播服务助力云学堂全面提升
- 下一篇: s3c2440移植MQTT