#include <stdio.h>
#include <windows.h>
#include <fstream>
#pragma comment(lib, "user32.lib")
using namespace std;
#pragma unmanaged
HHOOK g_hKey = NULL;
HINSTANCE h_HIN = NULL;
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
//if(nCode == HC_ACTION)
//{
// return 1;
//}
return CallNextHookEx(g_hKey, nCode, wParam, lParam);
}
DWORD WINAPI MyFunc(LPVOID lpParameter)
{
ofstream outfile("D:\\aaa.txt", ofstream::out | ofstream::app);
outfile << "bbbbbbbbbbbbbbb\n" << endl;
outfile.close();
return TRUE;
}
void WINAPI InstallHook()
{
DWORD g_dwThreadIdDIPS = GetCurrentThreadId();
g_hKey = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, h_HIN, g_dwThreadIdDIPS);
}
void WINAPI UnstallHook()
{
UnhookWindowsHookEx(g_hKey);
}
BOOL WINAPI DllMain(HINSTANCE hDllHandle, DWORD nReason, PVOID Reserved)
{
HANDLE hThread = NULL;
DWORD dwThreadID = NULL;
switch (nReason)
{
case DLL_PROCESS_ATTACH:
h_HIN = hDllHandle;
InstallHook();
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
default:
break;
}
return TRUE;
}
DllMain函数的运用
最新推荐文章于 2023-10-03 16:39:10 发布