我有一个应用程序,我使用剪贴板进行复制和粘贴操作。对于复制,我使用了这段代码:
Clipboard.Clear();
const byte VK_CONTROL = 0x11;
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(0x43, 0, 0, 0); // Send the C key (43 is "C")
keybd_event(0x43, 0, CONST_KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, CONST_KEYEVENTF_KEYUP, 0);
但它发出的错误是无法执行剪贴板操作,我无法粘贴它。这是一个例外。
如何解决此问题,或者在复制之前是否有其他方法可以清除剪贴板内容?
答案 0 :(得分:2)
使用:
Clipboard.SetText("some string");
Clipboard.GetText();
请参阅MSDN文章 Clipboard Class (System.Windows.Forms) 。
答案 1 :(得分:1)
我使用Win32 API调用(EmptyClipboard function)完成了它。
答案 2 :(得分:0)
Clipboard.Clear()
答案 3 :(得分:0)
一种简便的方法,用于清除其内容,以空格代替:
public static void Clear()
{
Thread STAThread = new Thread(
delegate ()
{
System.Windows.Forms.Clipboard.SetText(" ");
});
STAThread.SetApartmentState(ApartmentState.STA);
STAThread.Start();
STAThread.Join();
}