VC大漠实例

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MFC VC++ (VS2010) 调用大漠插件实例

小工具源代码:

隐藏鼠标指定的窗口,显示时要求输入密码:119

MiniTool.cpp 部分:

// MiniTool.cpp : 定义应用程序的类行为。

//

#include "stdafx.h"

#include "MiniTool.h"

#include "MiniToolDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// CMiniToolApp

BEGIN_MESSAGE_MAP(CMiniToolApp, CWinApp)

ON_COMMAND(ID_HELP, &CWinApp::OnHelp)

END_MESSAGE_MAP()

// CMiniToolApp 构造

CMiniToolApp::CMiniToolApp()

{

// TODO: 在此处添加构造代码,

// 将所有重要的初始化放置在InitInstance 中

}

// 唯一的一个CMiniToolApp 对象

CMiniToolApp theApp;

// CMiniToolApp 初始化

BOOL CMiniToolApp::InitInstance()

{

// 如果一个运行在Windows XP 上的应用程序清单指定要

// 使用ComCtl32.dll 版本6 或更高版本来启用可视化方式,//则需要InitCommonControlsEx()。否则,将无法创建窗口。

INITCOMMONCONTROLSEX InitCtrls;

InitCtrls.dwSize = sizeof(InitCtrls);

// 将它设置为包括所有要在应用程序中使用的

// 公共控件类。

InitCtrls.dwICC = ICC_WIN95_CLASSES;

InitCommonControlsEx(&InitCtrls);

CWinApp::InitInstance();

AfxEnableControlContainer();

// 标准初始化

// 如果未使用这些功能并希望减小

// 最终可执行文件的大小,则应移除下列

// 不需要的特定初始化例程

// 更改用于存储设置的注册表项

// TODO: 应适当修改该字符串,

// 例如修改为公司或组织名

SetRegistryKey(_T("MiniTool by liuh"));

WinExec("regsvr32.exe dm.dll /s",SW_SHOW);//注册dm.dll,如果dm.dll为当前程序目录相对路径,则直接写dm.dll即可。

CMiniToolDlg dlg;

m_pMainWnd = &dlg;

INT_PTR nResponse = dlg.DoModal();

if (nResponse == IDOK)

{

// TODO: 在此放置处理何时用

// “确定”来关闭对话框的代码

}

else if (nResponse == IDCANCEL)

{

// TODO: 在此放置处理何时用

// “取消”来关闭对话框的代码

}

// 由于对话框已关闭,所以将返回FALSE 以便退出应用程序,

// 而不是启动应用程序的消息泵。

return FALSE;

}

Dlg.cpp部分:

// MiniToolDlg.cpp : 实现文件

#include "stdafx.h"

#include "MiniTool.h"

#include "MiniToolDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// 用于应用程序“关于”菜单项的CAboutDlg 对话框

class CAboutDlg : public CDialog

{

public:

CAboutDlg();

// 对话框数据

enum { IDD = IDD_ABOUTBOX };

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持

// 实现

protected:

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

END_MESSAGE_MAP()

// CMiniToolDlg 对话框

CMiniToolDlg::CMiniToolDlg(CWnd* pParent /*=NULL*/)

: CDialog(CMiniToolDlg::IDD, pParent)

, MyWinHWND(0)

, passwd(0)

{

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CMiniToolDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT1, passwd);

}

BEGIN_MESSAGE_MAP(CMiniToolDlg, CDialog)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

//}}AFX_MSG_MAP

ON_MESSAGE(WM_HOTKEY,MyHotKey)

ON_WM_DESTROY()

ON_BN_CLICKED(IDC_BUTTON1, &CMiniToolDlg::OnBnClickedButton1) END_MESSAGE_MAP()

// CMiniToolDlg 消息处理程序

BOOL CMiniToolDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// 将“关于...”菜单项添加到系统菜单中。

// IDM_ABOUTBOX 必须在系统命令范围内。

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

相关文档
最新文档