1

**Hello..

i am creating English To Gujarati Dictionary WinForm Application.

I need to set a system wide hook to the right click context menu on for text selection.

it means when this application is running,and if user selects word from any program and right click on it gujarati meaning of that word should be displayed as menu item.

How to do this?

or any other options like Registery Programming,shell extentions etc...?

i have to do this,even if you say its not possible.

so please help me.**

4

1 回答 1

1

挂钩鼠标活动是最简单的部分。请参阅SetWindowsHookEx以及许多有关在 SO 中挂钩的问题。这样,您可以判断鼠标何时被右键单击。

获取选定的文本是较难的部分。对于初学者,请参阅WindowFromPoint 。您必须识别控件,并在适当的情况下从中获取选定的文本。如果控件很复杂,使用简单的 Win32 函数并不总是可以做到这一点。

将翻译添加到右键菜单中可能是不可能的部分。将内容添加到资源管理器上下文菜单不是问题,因为资源管理器提供了这种可能性。但是各种应用程序会有各种右键菜单,没有办法扩展它们。无论出于何种原因,他们甚至可能不会将 Win32 用于菜单。更好的选择,IMO,将是以下之一:

  1. 忘记更改右键菜单。在选择点旁边打开一个窗口,其中包含您想要的任何内容,并让应用程序显示其自己的右键单击菜单。
  2. 如果用户在按下 shift 时右键单击,则显示您自己的右键单击菜单,并且不要将消息传递给应用程序。所以用户只会看到一个菜单,这是你的。用户当然必须知道这种组合。
于 2011-09-22T06:02:34.443 回答