请问如何单击另一个程序的菜单项? ( 积分: 100 )

  • 主题发起人 主题发起人 ydopqi
  • 开始时间 开始时间
Y

ydopqi

Unregistered / Unconfirmed
GUEST, unregistred user!
有两种,第一种就是不用说的这种,菜单项下有下拉菜单,要单击其中某一项,另一种是菜单项没有下拉菜单,直接单击它就生效,不要鼠标移动的方式,不知道怎么写。<br>还有现在有没有能获得菜单句柄、ID的SPY类型的小软件?[:D]
 
有两种,第一种就是不用说的这种,菜单项下有下拉菜单,要单击其中某一项,另一种是菜单项没有下拉菜单,直接单击它就生效,不要鼠标移动的方式,不知道怎么写。<br>还有现在有没有能获得菜单句柄、ID的SPY类型的小软件?[:D]
 
子菜单句柄的
 
用mouseevent或者keybdenent模拟按键或者键盘热键,如果不行就用sendmessage
 
菜单得句柄,id自己用api找就行了,给你一个单击windows计算器的&quot;帮助&quot;-&gt;&quot;关于&quot;菜单的例子<br>var<br> &nbsp;wh,mh:thandle;<br> &nbsp;id:word;<br>begin<br> &nbsp;wh:=findwindow(nil,'计算器');<br> &nbsp;if wh&lt;&gt;0 then<br> &nbsp;begin<br> &nbsp; &nbsp;mh:=getmenu(wh);<br> &nbsp; &nbsp;mh:=getsubmenu(mh,2); //取得帮助菜单句柄<br> &nbsp; &nbsp;id:=getmenuitemid(mh,2); //取得关于菜单的ID<br> &nbsp; &nbsp;postmessage(wh,wm_command,MAKEWPARAM(id,0),0);<br> &nbsp;end;<br>end;
 
请问如何单击菜单项这种情况?就是没有下拉菜单的哪种,我找不到这个子菜单和其ID,没法进行单击操作?[:)]谢谢!
 
只能模拟键盘操作了。
 
晕,没有快捷键,怎么办?
 
就没人能回答吗?我想这不难,既然单击下面的子菜单都搞定了,我用spy++反复监视手工单击时的反应,一样的,wm_command消息,只是id不同,我怀疑这个是不是属于按钮呢?
 
多人接受答案了。
 
后退
顶部