为什么C#winform调用mouse_event必须调用两次右键down才能调出右键菜单?

程序是winform的,如果代码为下面,则只能在vs上调出右键菜单,在ppt上调用不出来右键:mouse_event(0x0001,x,y,0,0);//移动mouse_... 程序是winform的,如果代码为下面,则只能在vs上调出右键菜单,在ppt上调用不出来右键:

mouse_event(0x0001, x, y, 0, 0);//移动
mouse_event(0x0008, 0, 0, 0, 0);//右键down
mouse_event(0x0010, 0, 0, 0, 0);//右键up
如果代码为下面(即多调用一次右键down),则在ppt上能调用出右键菜单:
mouse_event(0x0001, x, y, 0, 0);//移动
mouse_event(0x0008, 0, 0, 0, 0);//右键down
mouse_event(0x0008, 0, 0, 0, 0);//右键down
mouse_event(0x0010, 0, 0, 0, 0);//右键up

x.y为我设置横纵坐标值。

以上现象能解释一下吗
展开
 我来答
客观的黑麂
2013-08-11 · TA获得超过114个赞
知道答主
回答量:52
采纳率:0%
帮助的人:116万
展开全部
mouse_event(0x0001, x, y, 0, 0);//移动
mouse_event(0x0008, 0, 0, 0, 0);//右键down <-是取焦点

然后 右键
mouse_event(0x0008, 0, 0, 0, 0);//右键down
mouse_event(0x0010, 0, 0, 0, 0);//右键up

如果不想两个DOWN。那就在移动么那个PPT上后,就要先取到他的焦点,就可以了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式