首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >处理SetWindowsHookEx零返回值

处理SetWindowsHookEx零返回值
EN

Stack Overflow用户
提问于 2014-02-17 05:50:01
回答 2查看 998关注 0票数 0

我在模块中使用了这个助手类:http://tinyurl.com/pb3vxw6和我有以下问题: SetWindowsHookEx总是返回零值。正如我所提到的,这个API函数没有文档化。Win CE 6.0设备仍然支持此API函数吗?我应该使用另一个API函数吗?如何用另一种方式实现键盘挂钩?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void Start()
{
    if (hHook != 0)
    {
         // Unhook the previouse one
         this.Stop();
    }

    hookDeleg = new HookProc(HookProcedure);
    // in hHook returned zero value  
    hHook = SetWindowsHookEx(WH_KEYBOARD_LL, hookDeleg, GetModuleHandle(null), 0);

    if (hHook == 0)
    {  // Exception throwed
       throw new SystemException("Failed acquiring of the hook.");
       // May be better?
       // Marshal.ThrowExceptionForHR(Marshal.GetLastWin32Error());

    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-17 08:05:38

这是程序还是DLL?您需要dll才能使键盘挂钩工作(并将键盘挂起dll)。我应该通过hInstance而不是GetModuleHandle(null)。所以当你挂起键盘窗口时,实际上调用了那个dll。

票数 1
EN

Stack Overflow用户

发布于 2014-02-18 08:37:43

您并不真正需要DLL,但无连接可能意味着未实现。

http://www.hjgode.de/wp/2009/12/04/hooking-the-keyboard-message-queue-in-compact-framework-code/上面的代码在几个设备上工作。

GetLastError给了什么?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21830832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文