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,这几天或许就不能更新了,暂时的离别不是坏事,呵呵,我会回来的。

 标签: MFC, cmd, dns

作者  :  sailor

仅仅看明白了还不够,能把别人给讲明白了才算及格。


  1. 罗伊
    1#
    罗伊

    貌似有个傻瓜型的刷新hosts的文件。我得找找。拿出来分享。

    June 29th, 2011 at 02:30 pm 回复
      1. sailor
        sailor

        恩,应该分享一下,现在大环境不好啊

        June 29th, 2011 at 08:56 pm 回复
  2. 小智
    2#
    小智

    :razz: 呵呵!厉害!

    June 29th, 2011 at 03:21 pm 回复
      1. sailor
        sailor

        瞎捣腾而已

        June 29th, 2011 at 08:56 pm 回复
  3. 搁浅
    3#
    搁浅

    技术帖啊、、、

    June 29th, 2011 at 05:07 pm 回复
      1. sailor
        sailor

        捣腾贴

        June 29th, 2011 at 08:57 pm 回复
  4. 挺好的,呵呵,适合新手。 不过单一的谷歌dns不行,还是得加上地区dns~

    June 29th, 2011 at 08:28 pm 回复
      1. sailor
        sailor

        这样写肯定不行的了,就是自己玩玩而已。

        June 29th, 2011 at 08:57 pm 回复
  5. 面条
    5#
    面条

    哈哈,收藏先,可能有用... :grin:

    June 29th, 2011 at 09:12 pm 回复
      1. sailor
        sailor

        不会有用的,除非你也学vc

        June 29th, 2011 at 09:21 pm 回复
          1. 我会c语言... :roll:

            June 30th, 2011 at 01:42 pm 回复
              1. sailor
                sailor

                当年我们也是从c开始学起的

                July 2nd, 2011 at 08:39 pm 回复
  6. 我确定我大部分的问题都解决不了 :grin: 唉,我还是太多东西不会了

    June 30th, 2011 at 01:39 am 回复
      1. sailor
        sailor

        这是一个过程,慢慢来吧,一起加油

        June 30th, 2011 at 02:03 am 回复
  7. 不用天朝的DNS经常会出错呀,奈何?

    July 1st, 2011 at 02:00 pm 回复
      1. sailor
        sailor

        确实很无语~强奸民意

        July 1st, 2011 at 04:19 pm 回复
  8. 我看起这个来 比较蒙的,必须好好的学习学习

    July 2nd, 2011 at 11:47 am 回复
      1. sailor
        sailor

        一般不学编程就没有必要去捣鼓这个了

        July 2nd, 2011 at 08:37 pm 回复
  9. harry_L
    9#
    harry_L

    NDS,我都没改过,都是192.168.1.1 :idea:

    July 4th, 2011 at 07:28 pm 回复
      1. sailor
        sailor

        我改是因为电信经常出现DNS劫持

        July 4th, 2011 at 09:46 pm 回复


最新文章