【发布时间】:2013-01-16 19:56:37
【问题描述】:
我想在用户选择某些文本并单击鼠标右键时出现的菜单中添加一个自定义菜单项。我搜索了很多,但没有得到任何答案。也许我没有输入正确的关键字。
- 可以这样做吗?
- 如果可能,我希望在用户选择文本时对 Windows 中的所有应用程序执行此操作。是否有通用的方法,或者必须编写特定于应用程序的代码?
我正在使用 C#。
【问题讨论】:
-
您可以添加一个全局挂钩来处理鼠标右键单击并弹出您自己的 ContextMenu... 但是如果我安装了您的应用程序并且它具有此功能,我可能不得不杀死您。 :)
-
glace:当某些应用程序对鼠标右键单击进行自定义处理时,也会出现无法预料的后果。例如游戏、建模软件等。我不确定是否可以检测到“右键单击以显示上下文菜单”。
-
因此,我为什么说我必须杀了他。对 Windows 子系统有更多了解的人必须插话,因为我不确定游戏开发人员如何确保他们的输入首先被接受,而不是传播到其他进程。
-
取决于什么类型的游戏。例如,我个人使用全局挂钩。还有用于基于 DirectX 的游戏的 DirectInput。我猜游戏玩家不会乐意尝试投掷手榴弹,只是发现 unlimit 的上下文菜单刚刚打开。以及尝试旋转视图的 3D 建模器。但它真的可以赢得今年最烦人的软件奖。