我的项目是关于文本处理软件并使用InputSimulator library。
当我的程序模拟Ctrl + C并从剪贴板获取文本时,它会出现这样的异常。
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in PresentationCore.dll
Additional information: OpenClipboard Failed (Exception from HRESULT:0x800401D0 (CLIPBRD_E_CANT_OPEN))
here's我的项目,这是我的代码
System.Threading.Thread.Sleep(3000); // wait for opening notepad and type any text to test
while (true)
{
string oldclipboard = Clipboard.GetText();
InputSimulator input = new InputSimulator();
input.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_A); // select text
input.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C);
string highlightedtext = Clipboard.GetText();
//do sth.(text processing)
input.Keyboard.ModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_V);
}
我确定它是关于库和剪贴板之间的冲突。 但我不知道是什么问题。
那么,为什么会抛出异常呢?还有其他方法吗?
由于
P.S。我也尝试“Sendkeys.Sendwait”。它没有任何例外,但它不稳定。