鱼C论坛

 找回密码
 立即注册
查看: 4571|回复: 6

[技术交流] MFC写的一个hosts网站重定向工具

[复制链接]
发表于 2015-12-7 22:00:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 黑龍 于 2015-12-7 22:19 编辑

先上图
11.png
111.png
那啥 源码实在太大了 我也不发了 直接把主程序代码发来(我没有用unicode的字节集哦 我设置的是公用字节集) IDLE:vs2012


  1. // MFCApplication8Dlg.cpp : 实现文件
  2. //

  3. #include "stdafx.h"
  4. #include "MFCApplication8.h"
  5. #include "MFCApplication8Dlg.h"
  6. #include "afxdialogex.h"

  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #endif


  10. // CMFCApplication8Dlg 对话框



  11. CMFCApplication8Dlg::CMFCApplication8Dlg(CWnd* pParent /*=NULL*/)
  12.         : CDialog(CMFCApplication8Dlg::IDD, pParent)
  13. {
  14.         m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  15. }

  16. void CMFCApplication8Dlg::DoDataExchange(CDataExchange* pDX)
  17. {
  18.         CDialog::DoDataExchange(pDX);
  19. }

  20. BEGIN_MESSAGE_MAP(CMFCApplication8Dlg, CDialog)
  21.         ON_WM_PAINT()
  22.         ON_WM_QUERYDRAGICON()
  23.         ON_BN_CLICKED(IDC_BUTTON1, &CMFCApplication8Dlg::OnBnClickedButton1)
  24. END_MESSAGE_MAP()


  25. // CMFCApplication8Dlg 消息处理程序

  26. BOOL CMFCApplication8Dlg::OnInitDialog()
  27. {
  28.         CDialog::OnInitDialog();

  29.         // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
  30.         //  执行此操作
  31.         SetIcon(m_hIcon, TRUE);                        // 设置大图标
  32.         SetIcon(m_hIcon, FALSE);                // 设置小图标
  33.         // TODO: 在此添加额外的初始化代码
  34.         CString t=(CString)"===要跳转的网站地址===";
  35.         CString e=(CString)"======跳转到=======";
  36.         GetDlgItem(IDC_EDIT1)->SetWindowText(t);
  37.         GetDlgItem(IDC_EDIT2)->SetWindowText(e);
  38.         return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
  39. }

  40. // 如果向对话框添加最小化按钮,则需要下面的代码
  41. //  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
  42. //  这将由框架自动完成。

  43. void CMFCApplication8Dlg::OnPaint()
  44. {
  45.         if (IsIconic())
  46.         {
  47.                 CPaintDC dc(this); // 用于绘制的设备上下文

  48.                 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

  49.                 // 使图标在工作区矩形中居中
  50.                 int cxIcon = GetSystemMetrics(SM_CXICON);
  51.                 int cyIcon = GetSystemMetrics(SM_CYICON);
  52.                 CRect rect;
  53.                 GetClientRect(&rect);
  54.                 int x = (rect.Width() - cxIcon + 1) / 2;
  55.                 int y = (rect.Height() - cyIcon + 1) / 2;

  56.                 // 绘制图标
  57.                 dc.DrawIcon(x, y, m_hIcon);
  58.         }
  59.         else
  60.         {
  61.                 CDialog::OnPaint();
  62.         }
  63. }

  64. //当用户拖动最小化窗口时系统调用此函数取得光标
  65. //显示。
  66. HCURSOR CMFCApplication8Dlg::OnQueryDragIcon()
  67. {
  68.         return static_cast<HCURSOR>(m_hIcon);
  69. }



  70. void CMFCApplication8Dlg::OnBnClickedButton1()
  71. {
  72.         // TODO: 在此添加控件通知处理程序代码
  73.         CString a,b;
  74.         char web[100];
  75.         char website[100];
  76.         char an[200];
  77.         char* err="设置网站重定向失败!";
  78.         FILE *File;
  79.         GetDlgItem(IDC_EDIT1)->GetWindowText(b);
  80.         GetDlgItem(IDC_EDIT2)->GetWindowText(a);
  81.         File=fopen("C:\\WINDOWS\\system32\\drivers\\etc\\hosts","a+");
  82.         if(!File)
  83.                 MessageBox((LPCTSTR)"设置网站重定向失败!");
  84.         else if(!feof(File))
  85.         {
  86.                 strcpy(web,(LPSTR)(LPCTSTR)b);
  87.                 strcpy(website,(LPSTR)(LPCTSTR)a);
  88.                 if(strcmp(web,"")<=0)
  89.                         MessageBox((LPCTSTR)"请将信息填写完整","错误:");
  90.                 else if(strcmp(website,"")<=0)
  91.                         MessageBox((LPCTSTR)"请将信息填写完整","错误:");
  92.                 else
  93.                 {
  94.                         strcpy(an,strncat(website,"        ",strlen("        ")));
  95.                         strcpy(an,strncat(an,web,strlen(web)));
  96.                         fprintf(File,"\r\r\n%s\r\r\n",an);
  97.                         fclose(File);//关闭文件
  98.                         MessageBox((LPCTSTR)"网站重定向设置完毕!","信息:");
  99.                 }
  100.         }
  101. }
复制代码

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
康小泡 + 5 + 5 + 5 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-7 22:17:21 From FishC Mobile | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-8 11:25:26 | 显示全部楼层
支持 前排。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-8 23:58:11 | 显示全部楼层
这个 可以有,支持一个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-9 10:08:20 | 显示全部楼层
这个玩意不错啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-9 22:21:37 From FishC Mobile | 显示全部楼层
无名侠 发表于 2015-12-8 23:58
这个 可以有,支持一个

最近想变成动态数组 试试我能不能做到吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-11 22:14:41 | 显示全部楼层
黑龍 发表于 2015-12-9 22:21
最近想变成动态数组 试试我能不能做到吧

一般都是链表把
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-12 22:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表