⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hodll.cpp

📁 笔记本的M键坏了
💻 CPP
字号:
//键盘钩子
// GDGF 编写于2001年10月16日

#include "stdafx.h"
#include "hodll.h"
#include "mmsystem.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

#pragma data_seg(".SHARDAT")
static HHOOK hkb=NULL;
#pragma data_seg()
HINSTANCE hins;

char szBuf[256];
char *p;
CString msg;
////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(CHodllApp, CWinApp)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
LRESULT __declspec(dllexport)__stdcall  CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{	
	//处理一些特殊按键
	char KeyName[50];
	ZeroMemory(KeyName,50);
	GetKeyNameText(lParam,KeyName,50);
	CString KeyNameStr=KeyName;

	//if   (wParam   ==   'A')	
	//if   (wParam   ==   VK_RSHIFT||wParam   ==   VK_SHIFT)		
	//if   (wParam   ==   VK_RSHIFT)
	//if   (wParam   ==   VK_RMENU)
	if   (wParam   ==   VK_F2)
	//if(KeyNameStr=="[")
	{
		if(   nCode   >=   0   &&   (DWORD)lParam&0x40000000   )   
		{			
			{   
				keybd_event('M',0,0,0);   
				keybd_event('M',0,KEYEVENTF_KEYUP,0);   
			}
		}
		return   1;
	}
	LRESULT RetVal = CallNextHookEx( hkb, nCode, wParam, lParam );	
	return  RetVal;
}
BOOL __declspec(dllexport)__stdcall installhook()
{
	hkb=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,hins,0);
	return TRUE;
}
BOOL __declspec(dllexport)  UnHook()
{   	
	BOOL unhooked = UnhookWindowsHookEx(hkb);
	return unhooked;
} 
BOOL CHodllApp::InitInstance ()
{	
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	hins=AfxGetInstanceHandle();

	GetModuleFileName(AfxGetInstanceHandle( ),szBuf,sizeof(szBuf));
    p = szBuf;
    while(strchr(p,'\\')) 
	{ 
	   p = strchr(p,'\\'); 
	   p++; 
	}
    *p = '\0'; 		
    msg=szBuf;
	return TRUE;	
}
BOOL CHodllApp::ExitInstance ()
{
	return TRUE;
}
CHodllApp::CHodllApp()
{
}
CHodllApp theApp;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -