我遇到剪貼板問題,每次嘗試從Excel文件進行復制/粘貼操作時都會收到此錯誤消息。剪貼板打開失敗
碼處斷裂Clipboard.GetDataObject()
和消息的錯誤是這樣的:
OpenClipboard Failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN))
我的WPF應用程序已經運行,當我打開Excel中,寫一些文字,然後嘗試複製/粘貼。
,我正在使用的代碼是這樣的:
private void SetClipboardData()
{
IDataObject data = Clipboard.GetDataObject();
IList result = GetDataForFileDropFormat(data);
if ((result != null) && (result.Count > 0))
{
this._elementsClipboard = result;
this._sourceDrag = null;
this._sourceClipboard = null;
}
}
上述函數被調用此處理方法:
public void Handle_WM_DRAWCLIPBOARD(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
SendMessage(this._nextClipboardViewer, msg, wParam, lParam);
// get data from clipboard
SetClipboardData();
handled = true;
}
我一直在尋找MSDN和.NET論壇,但沒找不到解決此問題的方法。
有人可以幫助我,或給我一個想法,我應該嘗試一下嗎?
謝謝!
嗨,克里斯!感謝您的回答。最後我做了類似於你所說的,現在它工作正常:) – 2012-02-04 09:02:27