クリップボードに問題があり、Excel ファイルからコピー/貼り付け操作を行うたびにこのエラー メッセージが表示されます。
コードはで中断しClipboard.GetDataObject()
、メッセージ エラーは次のとおりです。
OpenClipboard Failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN))
Excel を開いてテキストを書き込んでからコピー/貼り付けを試みると、WPF アプリケーションは既に実行されています。
私が使用しているコードは次のとおりです。
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 フォーラムを検索してきましたが、この問題の回避策が見つかりませんでした。
誰かがそれを手伝ってくれたり、何を試すべきか教えてくれませんか?
ありがとう!