Hook在Vista下遇到问题,该死的UAC
我用SetWindowsHookEx,WH_JOURNALRECORD方式获取键盘的按键,程序在XP下运行正常,到了Vista下一直不工作,用GetLastError查看是ERROR_ACCESS_DENIED错误。在网上查了很多资料,知道了是Vista的UAC在搞鬼。实践中关闭Vista的UAC或者更改“用户帐户控制: 管理员批准模式中管理员的提升提示行为”程序就可以正常运行了。但是……关键是我不可能要求客户都去把UAC关了啊。查看资料的时候好像看到一眼用manifest文件来解决的方法,现在又找不到那资料了……谁知道的能详细说下吗?或者还有其他的解决办法?
运行环境:C++Builder 2009,Windows Vista Ultimate