需要写一个系统服务锁定键盘鼠标。钩子的Dll文件在应用程序调用下可以正常工作;服务程序调用时各步骤也都返回了成功,但就是没有实现锁定功能,按键还能缓慢的蹦出来!服务程序中已经转换了桌面,是在"default"安装的钩子……下面是主要的转换桌面过程:(参照的 http://www.vckbase.com/document/viewdoc/?id=283) GetProcessWindowStation(); // 用来保存
GetThreadDesktop( GetCurrentThreadId() ); // 用来保存
OpenWindowStation( "winsta0", FALSE, MAXIMUM_ALLOWED );
SetProcessWindowStation(hwinsta) )
OpenDesktop( "default", 0, FALSE, MAXIMUM_ALLOWED );
SetThreadDesktop(hdesk);Lock_Keyboard_Mouse(); // 调用Dll中的钩子,锁定键盘鼠标。DLL程序中:
SetWindowsHookEx( WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, hInst, 0 );LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
return 1;
}(急)现在没有什么办法了,那位大侠能指点一下啊? 多谢!
GetThreadDesktop( GetCurrentThreadId() ); // 用来保存
OpenWindowStation( "winsta0", FALSE, MAXIMUM_ALLOWED );
SetProcessWindowStation(hwinsta) )
OpenDesktop( "default", 0, FALSE, MAXIMUM_ALLOWED );
SetThreadDesktop(hdesk);Lock_Keyboard_Mouse(); // 调用Dll中的钩子,锁定键盘鼠标。DLL程序中:
SetWindowsHookEx( WH_KEYBOARD_LL, (HOOKPROC)LowLevelKeyboardProc, hInst, 0 );LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
return 1;
}(急)现在没有什么办法了,那位大侠能指点一下啊? 多谢!
解决方案 »
- 无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!
- 如何获得三点之间的角度......bmp,vc
- Access数据的导入导出问题
- 谁能给我一段关于UNICODE读写TXT文件的代码..谢谢
- c可以制作可以在网页上绘图的程序吗?
- 为什么会报错?
- 谁用过CArray<type,arg_type>
- win7系统下怎么获取磁盘空间
- 使用“MSADO15.DLL”的ADO操作access2000数据库在WIN98环境下为什么不行,有什么办法可以解决这个问题?
- 新手求助m_pConnection-> Execute(cmdstr, &ra, adCmdText)执行数据库操作时,怎么判断成功失败啊.
- mixerOpen 中用不同Flag(最后一个参数)打开设备,从而来设置系统麦克风的音量有什么区别?
- 问个关于消息循环的问题
{
return 1;
}
这就是钩子程序了?
EnumWindowStations
EnumDesktops
枚举出19个桌面,尝试在每个桌面上安装钩子都成功,但还是锁定不了!打开一个txt文件,照样能够输入字符。是否我那个地方用的不对?还是服务程序+钩子的方法就是锁定不了键盘和鼠标哪?我还在继续努力,希望大型继续帮忙!谢谢!
我也听听各位的见解.