C++HOOK呼出窗口-

首先是简单的基础文档程序加按钮,然后调用导入的dll中的sethook函数对目标窗体句柄进行监听键盘事件 F5呼出 dll中的窗体

DLL中的钩子函数

wg *P=NULL;
CDllApp theApp;
CDllApp::ExitInstance(){
	delete P;
	CWinApp::ExitInstance();
	return 1;
	
}


LRESULT CALLBACK KeyboardProc(int code,
    WPARAM wParam,
    LPARAM lParam
	){
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	if(wParam==VK_F5&&((lParam&(1<<31))==0))
	{
		if(P==NULL)
		{
			P=new wg;
			P->Create(IDD_DIALOG1);
		}
		P->ShowWindow(SW_SHOW);
	}
	
	return CallNextHookEx(NULL, code,   wParam, lParam);
}
void setHOOK(){
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	HWND hwnd=::FindWindow(NULL,"QQ");
	if(!hwnd)
	{
		AfxMessageBox("先运行QQ");
		return;
	}
	DWORD Pid,Tid;
	Pid=GetWindowThreadProcessId(hwnd,&Tid);
	SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,    GetModuleHandle("dll.dll"), Pid);

}
一定要将dll中需要调用的函数加载def定义里面,否则不能调用

当点击启动外挂的时候,程序就会加载dll中的函数 呼出一个窗体

电此下载demo  密码:l7a4

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值