dns修改工具(vc)
前几次写的是在本机修改dns的方法,后来我感觉黑乎乎的界面实在难看,想自己写个界面dns修改工具。遇到了很多麻烦,加上最近的考试,就暂时放弃了进一步研究的想法。不过今天还是唠叨一下,希望有经验的高手给点意见。
至于这个工具,还是基于命令行修改dns,所以代码几乎没有变化,只是放在了MFC里罢了。
代码部分:
void CMYDNSDlg::OnBnClickedButtonGoogle() { // TODO: 在此添加控件通知处理程序代码 char cmd[256]="netsh interface ip set dns ChinaNetSNWide static 8.8.8.8"; char cmd2[256]="netsh interface ip add dns ChinaNetSNWide 8.8.4.4"; if (system(cmd) == 0&&system(cmd2)==0) { MessageBox(_T("GoogleDNS 设置成功")); } else { MessageBox(_T("设置失败!")); } } void CMYDNSDlg::OnBnClickedButtonOpen() { // TODO: 在此添加控件通知处理程序代码 char cmd[256]="netsh interface ip set dns ChinaNetSNWide static 208.67.222.222"; char cmd2[256]="netsh interface ip add dns ChinaNetSNWide 208.67.220.220"; if (system(cmd) == 0&&system(cmd2)==0) { MessageBox(_T("Open DNS 设置成功")); } else { MessageBox(_T("设置失败!")); } } void CMYDNSDlg::OnBnClickedButtonDef() { // TODO: 在此添加控件通知处理程序代码 char cmd[256]="netsh interface ipv4 set dns ChinaNetSNWide dhcp"; if(system(cmd)==0) { MessageBox(_T("恢复默认设置成功")); } else { MessageBox(_T("恢复设置失败!")); } }
界面如图:
下面是关键了,就是我遇到了N多问题
1.程序在win7下运行需要用管理员身份运行
2.暂时是在vs2008下写的,我不会打包,不能直接放在xp下运行。网上说的似乎都试过了,比如静态编译,比如新建安装程序,但是方法没有掌握。
3.不能获取本机的连接名称(例如我这里是本地连接)
4.不支持e信,这个比较dt,我直接在cmd中运行,电信也无法直接修改
5.运行的时候有黑框(执行cmd)
6.还有很多想法,但是我发现靠简单的cmd修改不行,似乎需要调用注册表
问题还有很多,我也发现这种方法的弊端,所以在两天晚上研究未果的情况下,暂时放弃了这个想法。希望高手给点指点,我先谢过。
--------------猥琐的分割线-------------
这几天就要考试了,还有4门要考试到7.7,这几天或许就不能更新了,暂时的离别不是坏事,呵呵,我会回来的。
貌似有个傻瓜型的刷新hosts的文件。我得找找。拿出来分享。
恩,应该分享一下,现在大环境不好啊
:razz: 呵呵!厉害!
瞎捣腾而已
技术帖啊、、、
捣腾贴
挺好的,呵呵,适合新手。 不过单一的谷歌dns不行,还是得加上地区dns~
这样写肯定不行的了,就是自己玩玩而已。
哈哈,收藏先,可能有用... :grin:
不会有用的,除非你也学vc
我会c语言... :roll:
当年我们也是从c开始学起的
我确定我大部分的问题都解决不了 :grin: 唉,我还是太多东西不会了
这是一个过程,慢慢来吧,一起加油
不用天朝的DNS经常会出错呀,奈何?
确实很无语~强奸民意
我看起这个来 比较蒙的,必须好好的学习学习
一般不学编程就没有必要去捣鼓这个了
NDS,我都没改过,都是192.168.1.1 :idea:
我改是因为电信经常出现DNS劫持