你好我有Windows应用程序,我需要点击菜单/标签项目上的一个。我可以找到所有选项,文件,帮助....标签菜单,但我找不到如何获取的方式到我的项目。
我无法发送我的应用图片,但我会发送相同的示例/逻辑与IE,我需要点击希腊语(IOS)。
1.我需要点击View
2.Hover编码
3.Hover More
和4.单击希腊语(IOS)。
我可以在File,Edut,View,Tools,Help
中找到所有栏菜单intWhdr = FindWindow(Step1Window.Class, Step1Window.Name);//Program
currChild = FindWindowEx(intWhdr, 0, "WindowsForms10.Window.", "mainMenu");//Menu
这里我有我的主菜单,这里我卡住了我无法找到按菜单项的方式(例如在示例中)查看菜单。 我甚至不需要悬停操作,我可以使用SendMessage DownArrow和RightArrow来访问我的项目,但我需要先点击View。
如何点击查看菜单表单菜单栏?使用SendMessage / PostMessage
更新
答案 0 :(得分:1)
使用spy ++跟踪传递到菜单栏的所有事件。然后尝试重新发送程序中的消息。
答案 1 :(得分:0)
经过长时间的研究并在 dvasanth 的帮助下,我发现了这个问题
1.你需要在img中找到WM_LBUTTONUP / DOWN NOT WM_SETCURSOR ,而不是打开属性并找到wParam和lParam
2.只需添加0x + lParam / wParam
即可更改格式011C16A8例如:011C16A8 = 0x011C16A8
EX:00000001 = 0x01
EX:00000012 = 0x12
我想我有个主意......
在我的情况下,我在属性中找到:
WM_LBUTTONUP
lParam=00000001
wParam=000C0348
WM_LBUTTONDOWN
lParam=00000000
wParam=000C0348
编辑后播种他们看起来像这样:
WM_LBUTTONUP
lParam=0x01
wParam=0x000C0348
WM_LBUTTONDOWN
lParam=0x00
wParam=0x000C0348
3.只需将此插入您的代码。
我的代码有效:
intRes1 = PostMessage(currChild, WM_LBUTTONDOWN, 0x01, 0x000C0348);
System.Threading.Thread.Sleep(100);
intRes1 = PostMessage(currChild, WM_LBUTTONUP, 0x00, 0x000C0348);