| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // zpz.cpp : 定义 DLL 应用程序的导出函数。
- //
- #include "stdafx.h"
- #pragma data_seg("publicdata")
- HHOOK hhook = NULL;
- HINSTANCE pinstance = NULL;
- HANDLE g_Handle;
- #pragma data_seg()
- HANDLE WINAPI myCreateFile(
- __in LPCWSTR lpFileName,
- __in DWORD dwDesiredAccess,
- __in DWORD dwShareMode,
- __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
- __in DWORD dwCreationDisposition,
- __in DWORD dwFlagsAndAttributes,
- __in_opt HANDLE hTemplateFile
- )
- {
- HANDLE hFile = CreateFile(
- lpFileName,
- dwDesiredAccess,
- dwShareMode,
- lpSecurityAttributes,
- dwCreationDisposition,
- dwFlagsAndAttributes,
- hTemplateFile);
-
- return hFile;
- }
- BOOL WINAPI myWriteFile(
- __in HANDLE hFile,
- __in_bcount_opt(nNumberOfBytesToWrite) LPCVOID lpBuffer,
- __in DWORD nNumberOfBytesToWrite,
- __out_opt LPDWORD lpNumberOfBytesWritten,
- __inout_opt LPOVERLAPPED lpOverlapped
- )
- {
- BOOL bRet = WriteFile(hFile,
- lpBuffer,
- nNumberOfBytesToWrite,
- lpNumberOfBytesWritten,
- lpOverlapped);
- return bRet;
- }
- __declspec(dllexport) int InstallHook()
- {
- hhook = SetWindowsHookEx(WH_KEYBOARD, myWriteFile, pinstance, 0);
- }
- __declspec(dllexport) int UninstallHook()
- {
- }
|