money 发表于 2008-7-31 10:03:45

询问关于消息截获的问题,谢谢!

刚接触AutoIt,也是看同事在用,正好我需要实现的功能似乎AutoIt能实现。但是我自己接触不深刚刚看完它的帮助文件,请教个问题。如果有高手回答能达到我的功能要求,我就自己来研究了。

我需要监视一个第三方软件的菜单栏(ToolbarWindow32)下面的弹出子菜单(#32768,windows弹出菜单类)中一个菜单项的点击操作。当用鼠标点下这个菜单项时,先不将WM_LBUTTONDOWN消息传给该菜单项,此消息被我截获,然后进行我自己的一段代码判断。结果为真则给此菜单项发送按下命令(这个简单);结果为假则扔掉WM_LBUTTONDOWN消息,不执行该菜单项的按下操作。

我知道AutoIt有两套方法均能截获消息,但能阻断消息吗?恳请给个例子。
另外就是如何判断我点击了哪一个菜单项?因为WM_LBUTTONDOWN消息中的wParam和lParam是不包括点击控件的相关信息的。

我不知道是否有菜单项被按(注意:不是已经clicked了)的消息,或者我在截获这个消息时就进入开始我的代码。因为象clicked之类的通知型消息(Notification)对于我是没有用的,执行都执行了还通知我干嘛?我需要能阻止执行。

谢谢大家。

顽固不化 发表于 2008-7-31 12:22:13

一个字,难

money 发表于 2008-7-31 15:03:48

谢谢楼上,其他高手也说说吧

money 发表于 2008-8-13 12:42:27

最后还是用Delphi通过API解决了,VC也实现了。看来还是用底层编程环境才能解决这种底层问题哈~~

所以我的经验是,如果能用C就还是用C来解决复杂问题,如果一般难度不大,可以用Autoit偷个懒

sanhen 发表于 2008-8-13 12:56:31

解决了的。最好附上DELPHI或者VC的代码,让后者也分享一下。。。

kakinkgb 发表于 2008-8-13 21:26:46

知道应该调用哪个文件中的哪个api,用autoit应该也可以解决吧

tisiem 发表于 2009-7-6 23:58:33

结论就是autoit不适合?看来我也选错工具了……
页: [1]
查看完整版本: 询问关于消息截获的问题,谢谢!