0

我有一个全局注册的热键,它工作正常,这个热键里面是以下代码:

        {
            Clipboard.SetDataObject(Properties.Resources.cookie);
            SendKeys.SendWait("^v");
        }

它将cookie图像添加到我的剪贴板并将其粘贴到激活的任何窗口中。但是它只能在第一次正常工作并粘贴图像。

我第二次得到: System.Windows.Forms.dll 中发生了“System.Runtime.InteropServices.COMException”类型的第一次机会异常

这会弹出:

在此处输入图像描述

但是,仅当程序具有此选项时才会弹出,否则不会发生任何事情(但我仍然会收到异常错误)。

但是如果我手动按 ctrl+V... 它每次都有效:S

4

1 回答 1

0

该类Clipboard有一个不同的方法,可能对您更有效:

Clipboard.SetImage(...);

仅设置时DataObject,还可以指定对象的类型。这也是一个可行的选择,可能以完全相同的方式工作,但使用适当的方法似乎......好吧......更合适。

另一个重要说明:

Clipboard方法仅适用于“Single Apartment”线程,因此如果您不在 UI 线程上执行操作,则应确保将线程的状态设置为STA.

于 2013-05-11T15:14:06.453 回答