我有一个全局注册热键,工作正常,在这个热键内是以下代码:
{
Clipboard.SetDataObject(Properties.Resources.cookie);
SendKeys.SendWait("^v");
}
它将cookie图像添加到我的剪贴板并将其粘贴到已激活窗口的窗口中。但是它只能在第一次正常工作并粘贴图像。
我第二次得到: 类型为System.Runtime.InteropServices.COMException'的第一次机会异常。发生在System.Windows.Forms.dll
中然后弹出:
然而,如果程序有此选项,则只会弹出,否则不会发生任何事情(但我仍然会收到异常错误)。
但如果我手动按ctrl + V ...它每次都有效:S
答案 0 :(得分:0)
Clipboard
类有一种不同的方法,可能对你更有效:
Clipboard.SetImage(...);
仅设置DataObject
时,您还可以指定对象的类型。这也是一个可行的选择,它可能以同样的方式工作,但使用适当的方法似乎......更合适。
另一个重要的注意事项:
Clipboard
方法仅适用于“单一公寓”线程,因此如果您没有在UI线程上执行操作,则应确保将线程的状态设置为STA
。