我使用的是VS2008 + WINIO 3.0
安裝:
1:編譯WinIo\Source\Dll\WinIo.sln 用debug編譯
2:打開檔案夾WinIo\Source\Dll\x86\Debug 找到WinIo32.lib 以及WinIo32.dll
WinIo\Binaries\WinIo32.sys
WinIo\Source\Dll\winio.h +WinIo\Source\Drv\winio_nt.h
3:將.h檔案加載到工程里面,然后將lib檔案在工程-屬性-鏈接-添加依賴 里面講lib的地址輸入進去
dll和sys檔案放到 工程debug目錄下面然后進行編譯;
4:編譯成功 呼叫時 oninitdialog()里面添加:
m_hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, AfxGetInstanceHandle(), 0);
int i = InitializeWinIo();
return TRUE; // 傳回 TRUE,除非您對控制項設定焦點
5:報錯 進去查看發現
bool __stdcall InitializeWinIo()
{
bool bResult;
DWORD dwBytesReturned;
g_Is64BitOS = Is64BitOS();
hDriver = CreateFile(L"\\\\.\\WINIO",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
// If the driver is not running, install it
if (hDriver == INVALID_HANDLE_VALUE)
{
GetDriverPath();
bResult = InstallWinIoDriver(szWinIoDriverPath, true);
//- szWinIoDriverPath 0x100954a8 "f:\NC_SealSvn\劍網3按鍵精靈\JW3AJF5F6F7F8\Debug\winio64.sys" wchar_t [32768]
//初始化成功程式檔案名正確
if (!bResult)
return false;
bResult = StartWinIoDriver();
//呼叫上面函式 bResult = FALSE;
if (!bResult)
return false;
hDriver = CreateFile(L"\\\\.\\WINIO",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hDriver == INVALID_HANDLE_VALUE)
return false;
}
uj5u.com熱心網友回復:
是否管理員權限執行 是否安裝好驅動uj5u.com熱心網友回復:
http://blog.csdn.net/l1258914199/article/details/8937764?reloaduj5u.com熱心網友回復:
你好可能您沒看清楚我的代碼截圖 第23行有注釋 我特地把地址列印出來了 。 獲取我的..64.syS已經獲取成功了!uj5u.com熱心網友回復:
你好可能您沒看清楚我的代碼截圖 第23行有注釋 我特地把地址列印出來了 。 獲取我的..64.syS已經獲取成功了!
所以你的那個網址對我沒用啊
uj5u.com熱心網友回復:
嚴格區分32位還是64位了嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/150800.html
標籤:資源
