我试图编写一个托盘程序,只要用户通过光标选择它就可以在任何窗口上捕获文本。我使用的语言是VB.NET。
我想从任何地方捕获文本,所以我在解决方案1中失败了因为并非所有应用程序都使用buildin win32控件来保存文本。
解决方案2和解决方案3采用相同的方法。当我试图实现解决方案2时,我可以捕获文本形式的chrome,文件浏览器,记事本...但是使用Adobe pdf阅读器,办公室文字... ...
解决方案3更好,现在我只能从办公室文字中捕获文字。我不知道为什么我不能将按键Ctrl_C发送到Word并将文本放入剪贴板。
我不知道天气它还有另一种方法可以从.net程序中捕获Office Word(或Excel ...)中的选定文本吗?请告诉我 或者请告诉我有关从几乎窗口捕获所选文本的更好方法的建议。 感谢
以下是我捕获文字的代码:
'backup clipboard
Dim Clipboard_Backup As IDictionary(Of Object, Object)
Clipboard_Backup = GetClipboardData()
Clipboard.Clear()
'send Ctrl+C by sendkeys
Try
SendKeys.SendWait("^c")
Catch ex As Exception
Debug.WriteLine(ex.ToString)
End Try
'get text from clipboard
Dim w As String = Clipboard.GetText()
w = w.Trim()
'restore clipboard
SetClipboardData(Clipboard_Backup)
Return w