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");
自己顶一个
还有办法但是一直不成功,有知道帮下手啊
用setwindowlong获取desktop窗口上所有消息
wince下捕获键盘消息可以用SetWindowsHookExW的hook实现
但是,不支持鼠标Hook。LZ想要的是鼠标,为什么在开始要提键盘呢?
所以LZ所说的,不行!
我只是打个比方,键盘我试过了,是可以,那是可行的code
如果不用hook,还有没有其它的办法去捕获鼠标
不知道LZ想要什么,什么可行、什么不可行!
不要只说捕获鼠标,你就说界面上要实现什么效果。
问一下,wince5.0 和 ppc下如何捕获鼠标事件? 是本程序的,不是用钩子获取全局的。
引用: 引用 7 楼 xiaoji9981 的回复:
问一下,wince5.0 和 ppc下如何捕获鼠标事件? 是本程序的,不是用钩子获取全局的。
你想用钩子,也不能用。因为CE根本就不支持鼠标Hook。
请说清楚问题,什么本程序的!!!
具体说就是启动一个后台程序,可以记录鼠标按下的信息
QASetWindowsJournalHook函数是 Wince下未公开的鼠标钩子函数
其中第一个参数为0
这个函数在wince 4.2/5.0 windows mobile 4.2 / 5.0 /6.0 都是可以的,
但是WinCE 6.0 此鼠标钩子不可以,如LZ所说,键盘钩子是可以使用的
估计是把这个接口给屏蔽掉了
或者只能从驱动获取,自己写钩子了
如果可以从驱动入手,就不用写什么钩子了。因为所有鼠标的消息,都是从驱动来的。
但是从驱动入手,没的办法得知鼠标点的是什么窗体或控件。
太好了, 正好跟楼主一样的问题. 搜到这个帖子, 感谢saifeng提供的线索, 解决了我的问题了.
另, 鄙视一下91program, 楼主的问题很简单, 就是想要在ce上实现鼠标HOOK, 知道就知道, 不知道就不知道, 自己不知道非得故意刁难楼主来装B, 这样显得很无知.
91program也没说错,WinCE 6.0只能从驱动入手。