我的应用程序运行作为内另一窗口的应用程序的插件。因此,我经常窗口没有焦点。现在,如果有人通过按钮/菜单移动鼠标并点击一次,它的作用是将焦点设置我的窗口。然后,他(她)需要再次点击获得实际的按钮功能。

这是一个小麻烦,但我想摆脱它。首先我想声明的重点,只要鼠标进入我的对话空间,但是这被证明是更讨厌。所以我想要做的是重复的鼠标点击,所以看起来好像一个单一的点击都将焦点改变,按下了按钮。

很显然,我只能这样做,当点击产生成SetFocus的,否则会运行按钮功能的两倍。

任何建议?

和深永远负债, 大卫

有帮助吗?

解决方案

鼠标点击模拟似乎有点凌乱这里,但你总是可以模拟通过的 SendInput API 通过p /调用:

[DllImport("user32.dll", SetLastError=true)]
static extern uint SendInput(uint nInputs, INPUT [] pInputs, int cbSize);

您也可以摆弄直接传播/产生WM_MOUSEXXXXX的消息,但我已经打了这个有很多,相信我,当我说这是一个总的杂牌组装电脑。

其他提示

我建议你保持行为的;这是操作系统的标准行为,并更改它会使标准的可用性指南。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top