**你好..
我正在创建英语到古吉拉特语词典WinForm应用程序。
我需要在右键单击上下文菜单中设置系统范围的挂钩以进行文本选择。
这意味着当这个应用程序运行时,如果用户从任何程序中选择单词并右键单击它,则该单词的gujarati含义应显示为菜单项。
怎么做?
或任何其他选项,如Registery Programming,shell extentions等......?
我必须这样做,即使你说它不可能。
所以请帮助我。**
答案 0 :(得分:1)
挂钩鼠标活动很容易。请参阅SetWindowsHookEx,以及有关在SO中挂钩的许多问题。这样,您可以判断鼠标右键单击的时间。
获取所选文本是更难的部分。对于初学者,请参阅WindowFromPoint。您必须识别控件,并在适当的时候从中获取所选文本。如果控件很复杂,使用简单的Win32函数并不总是可行。
将翻译添加到右键菜单可能是不可能的部分。向资源管理器上下文菜单添加内容不是问题,因为资源管理器提供了这种可能性。但是各种应用程序将具有各种右键单击菜单,而无法扩展它们。无论出于何种原因,他们甚至可能不会使用Win32作为菜单。一个更好的选择,IMO,将是以下之一: