wince ppc下如何捕获鼠标事件?

huttu   2008-9-17 13:48 楼主
wince下捕获键盘消息可以用SetWindowsHookExW的hook实现,但是我在ppc 6.0下不能捕获鼠标
以下是实现:
[code]        HINSTANCE library;
        sethook sethookfunction;

        if((library=LoadLibrary(L"coredll.dll"))==NULL)
                OutputDebugString(L"LoadLibrary coredll.dll failed!\n");

        if((sethookfunction=(sethook) GetProcAddress(library,L"SetWindowsHookExW"))==NULL)
                OutputDebugString(L"GetProcAddress SetWindowsHookEx failed!\n");

        if((nexthookfunction=(nexthook) GetProcAddress(library,L"CallNextHookEx"))==NULL)
                OutputDebugString(L"GetProcAddress CallNextHookEx failed!\n");

        if((hook=sethookfunction(12,QASetWindowsJournalHookProc,hInstance,0))== NULL)
                OutputDebugString(L"sethookfunction failed\n");

回复评论 (16)

自己顶一个
还有办法但是一直不成功,有知道帮下手啊
用setwindowlong获取desktop窗口上所有消息
点赞  2008-9-17 14:00
OnKeyDown不行吗?
点赞  2008-9-17 14:25
wince下捕获键盘消息可以用SetWindowsHookExW的hook实现


但是,不支持鼠标Hook。LZ想要的是鼠标,为什么在开始要提键盘呢?

所以LZ所说的,不行!
点赞  2008-9-17 14:37
我只是打个比方,键盘我试过了,是可以,那是可行的code
如果不用hook,还有没有其它的办法去捕获鼠标
点赞  2008-9-17 15:32
再顶,不能沉下去了
点赞  2008-9-17 16:46
不知道LZ想要什么,什么可行、什么不可行!

不要只说捕获鼠标,你就说界面上要实现什么效果。
点赞  2008-9-17 17:08
问一下,wince5.0 和 ppc下如何捕获鼠标事件? 是本程序的,不是用钩子获取全局的。
点赞  2008-9-17 17:12
引用: 引用 7 楼 xiaoji9981 的回复:
问一下,wince5.0 和 ppc下如何捕获鼠标事件? 是本程序的,不是用钩子获取全局的。


你想用钩子,也不能用。因为CE根本就不支持鼠标Hook。

请说清楚问题,什么本程序的!!!
点赞  2008-9-17 17:37
引用: 引用 7 楼 xiaoji9981 的回复:
问一下,wince5.0 和 ppc下如何捕获鼠标事件? 是本程序的,不是用钩子获取全局的。


还有,发问请自己开贴。

在坛子中,这一些道德还是要有的。
点赞  2008-9-17 17:38
简单点说就是想捕获鼠标,有没有哪位大大知道啊
点赞  2008-9-18 13:34
引用: 引用 10 楼 procedurecode 的回复:
简单点说就是想捕获鼠标,有没有哪位大大知道啊


请你不要简单的说,说具体的。
点赞  2008-9-18 16:14
具体说就是启动一个后台程序,可以记录鼠标按下的信息
点赞  2008-9-18 17:09
QASetWindowsJournalHook函数是 Wince下未公开的鼠标钩子函数
其中第一个参数为0

这个函数在wince 4.2/5.0  windows mobile 4.2 / 5.0 /6.0 都是可以的,

但是WinCE 6.0 此鼠标钩子不可以,如LZ所说,键盘钩子是可以使用的

估计是把这个接口给屏蔽掉了

或者只能从驱动获取,自己写钩子了

点赞  2008-9-22 22:44
如果可以从驱动入手,就不用写什么钩子了。因为所有鼠标的消息,都是从驱动来的。

但是从驱动入手,没的办法得知鼠标点的是什么窗体或控件。
点赞  2008-9-22 23:07
太好了, 正好跟楼主一样的问题. 搜到这个帖子, 感谢saifeng提供的线索, 解决了我的问题了.

另, 鄙视一下91program, 楼主的问题很简单, 就是想要在ce上实现鼠标HOOK, 知道就知道, 不知道就不知道, 自己不知道非得故意刁难楼主来装B, 这样显得很无知.

点赞  2009-5-19 11:29
91program也没说错,WinCE 6.0只能从驱动入手。
点赞  2010-2-26 17:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复