【发布时间】:2021-04-03 23:40:46
【问题描述】:
我想在后台创建一个类似于文本模块的程序。使用 ALT+AI 之类的快捷方式将模拟在当前光标位置双击(在 第三方应用程序 中选择一个单词)并使用 sendkeys CTRL + C 将文本复制到我的剪贴板.
但是 sendkeys 无法将所选文本复制到剪贴板。有可能实现这样的应用吗?
//Jump to cursor position
SetCursorPos(xpos, ypos);
//Simulate double click
mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
Thread.Sleep(50);
mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
//Copy to clipboard
SendKeys.SendWait("^C");
//Show Clipboard Text
MessageBox.Show(Clipboard.GetText());
提前致谢。
【问题讨论】:
-
感谢您的回复。 SendKeys.SendWait("^(c)");不起作用。
-
如果在
SendWait后面有Thread.Sleep(10000);是否有效? -
thread.sleep 没有帮助。我会试试 wm_copy。
-
是否有选择(例如文本),以便实际复制一些内容?