访问另一个程序中的选定文本

时间:2012-08-20 20:00:06

标签: c# shell text

  

可能重复:
  How can an app hook into text selection system-wide?

我将创建一个可能类似于Windows Shell类应用程序的查找程序。在Outlook中,我将选择一个ID号(文本),我的应用程序需要接受这个作为参数来做事。

如何在全局(Windows)范围内访问所选文本?

我的解决方法可能是执行复制操作,然后阅读剪贴板的内容。但是如果可能的话,我想保持自由。

2 个答案:

答案 0 :(得分:0)

  1. 您可以使用spy ++在要获取ID的控件上设置目标
    1. 使用API​​窗口
      [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount); 它允许您从控件(文本框或其他标题)获取文本

答案 1 :(得分:0)

请参阅此主题中的解决方案:Copy Selected Text from any window

基本上,您需要使用PInovoke从活动窗口中获取所选文本。此外,您可以设置Windows键绑定以运行您的应用程序并触发操作。这种方法具有为所有应用程序工作的额外好处,而不仅仅是Outlook。