安装:
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;
}
5 个解决方案
#1
是否管理员权限执行 是否安装好驱动
#2
http://blog.csdn.net/l1258914199/article/details/8937764?reload
#3
你好可能您没看清楚我的代码截图 第23行有注释 我特地把地址打印出来了 。 获取我的..64.syS已经获取成功了!
#4
你好可能您没看清楚我的代码截图 第23行有注释 我特地把地址打印出来了 。 获取我的..64.syS已经获取成功了!
所以你的那个网址对我没用啊
#5
严格区分32位还是64位了吗?
#1
是否管理员权限执行 是否安装好驱动
#2
http://blog.csdn.net/l1258914199/article/details/8937764?reload
#3
你好可能您没看清楚我的代码截图 第23行有注释 我特地把地址打印出来了 。 获取我的..64.syS已经获取成功了!
#4
你好可能您没看清楚我的代码截图 第23行有注释 我特地把地址打印出来了 。 获取我的..64.syS已经获取成功了!
所以你的那个网址对我没用啊
#5
严格区分32位还是64位了吗?