C# 如何使用PostMessage/SendMessage用户32单击菜单项
您好,我有Windows应用程序,我需要在菜单/选项卡项上单击一个。我可以找到包含所有选项、文件、帮助的菜单。。。。选项卡,但我找不到如何访问我的项目 我无法发送我的应用程序的图片,但我将发送与IE相同的示例/逻辑,我需要单击希腊语(IOS) 1.我需要单击查看 2.悬停编码 3.继续盘旋 四,。单击希腊语(IOS) 我可以找到包含文件、教育、视图、工具和帮助的所有栏菜单C# 如何使用PostMessage/SendMessage用户32单击菜单项,c#,sendmessage,postmessage,user32,C#,Sendmessage,Postmessage,User32,您好,我有Windows应用程序,我需要在菜单/选项卡项上单击一个。我可以找到包含所有选项、文件、帮助的菜单。。。。选项卡,但我找不到如何访问我的项目 我无法发送我的应用程序的图片,但我将发送与IE相同的示例/逻辑,我需要单击希腊语(IOS) 1.我需要单击查看 2.悬停编码 3.继续盘旋 四,。单击希腊语(IOS) 我可以找到包含文件、教育、视图、工具和帮助的所有栏菜单 intWhdr = FindWindow(Step1Window.Class, Step1Window.Name);//P
intWhdr = FindWindow(Step1Window.Class, Step1Window.Name);//Program
currChild = FindWindowEx(intWhdr, 0, "WindowsForms10.Window.", "mainMenu");//Menu
这里我有我的主菜单,这里我卡住了,我找不到方法按下菜单项(如Ie示例)查看菜单。
我甚至不需要悬停操作,我可以使用SendMessage DownArrow和RightArrow来访问我的项目,但我需要先单击View
您知道如何使用SendMessage/PostMessage单击查看菜单表单菜单栏吗
更新
使用spy++跟踪发送到菜单栏的所有事件,然后尝试从您的程序重新发送消息。经过长时间的研究,在dvasanth的帮助下,我找到了问候语 1.您不需要像在img中一样找到WM_LBUTTONUP/DOWN而不是WM_SETCURSOR,然后打开属性并找到wParam和lParam 2.只需添加0x+lParam/wParam即可更改格式011C16A8 Ex:011C16A8=0x011C16A8 EX:00000001=0x01 EX:00000012=0x12 我想我有个主意 在我的案例中,我在properties中发现: WM_LBUTTONUP
lParam=00000001
wParam=000C0348
lParam=0x01
wParam=0x000C0348
沃尔布顿镇
lParam=00000000
wParam=000C0348
lParam=0x00
wParam=0x000C0348
编辑后的sow显示如下:
WM_LBUTTONUP
lParam=00000001
wParam=000C0348
lParam=0x01
wParam=0x000C0348
沃尔布顿镇
lParam=00000000
wParam=000C0348
lParam=0x00
wParam=0x000C0348
3.只需将其插入到代码中即可
我的代码有效:
intRes1 = PostMessage(currChild, WM_LBUTTONDOWN, 0x01, 0x000C0348);
System.Threading.Thread.Sleep(100);
intRes1 = PostMessage(currChild, WM_LBUTTONUP, 0x00, 0x000C0348);
我发现了这个事件(请参阅更新),我认为hi正在按菜单项,但我不知道如何在代码中使用它。调用sendmessage API,将消息、lparam、wparam和句柄发送到窗口。我尝试过,但wparam=011C16A8和handle=011C16A8不是IntPtr或Int sow,我无法使用sendmessage,我不知道将与011C16A8一起使用的sendmessage(我不知道它是什么格式)