我想在 C# 中制作一个像“事件”(而不是敏捷的 GetAsyncKeyState)一样运行的 Hook (我想在 C++ 中完成)。 所以,我用以下内容制作了一个 dll:http://pastebin.com/yEHJKSS7 .
嗯,它不会调用 Handler Function。
顺便说一下,这是我使用 dll 的方式:
void KeysHandler(int vkKey, int flags)
{
if(vkKey == VK_ESCAPE)
exit(0);
File << vkKey << endl << flags << endl;
}
int main
{
SetHandler(HandlerFunc);
//sleep here
}
编辑:现在我看到了如何在 dll 中“调试”,结果如下:SetWindowsHookEx 返回 255 - 我认为它很重要,因为它值得准确地进行 char - 我将检查文档中的内容这意味着。
编辑:255 是有效的返回值:O 只有 NULL (0) 是错误的。
我不知道是什么问题。
编辑:好吧,现在我的 friend 给我带来了一个为他工作的妓女。猜猜……它没有用。
我觉得这很奇怪,所以我执行了 GetLastError 并得到了 127 - 没有找到过程。 我看不出有任何理由找不到我的程序,请帮忙:(
最佳答案
您的 main 真的只调用 SetHandler 然后再 sleep 吗?
您需要一个 MessageLoop 才能调用任何事件。
关于c++ - 低级妓女,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460544/