2017-06-08 10 views
1

クリップボードをクリアしたい場合がありますが、ループ中にファイルがクリップボードにコピー中であることがあり、を呼び出すと例外が発生することがあります。Clipboard.Clear - Try/Catchで例外がキャッチされない

私はこれを処理するために、次の関数を作っ:

Private Shared Sub ClearClipboard() 
    Dim b As Boolean = False 
    While b = False 
     Try 
      Clipboard.Clear() 
      b = True 
     Catch ex As Exception 
     End Try 
    End While 
End Sub 

これは、未処理の例外メッセージがポップアップ表示のVisual Studioから、しかし、クライアントのマシン上で実行している私のマシン上で正常に動作します。 なぜそこに静かに捕らえられていないのですか?

これが最善の方法でない場合は、現在何かがクリップボードにコピーされているかどうかを確認し、終了するまで待つことができますか? つまり、クリップボードが「ビジー」かどうかを確認することは可能ですか?

+1

のあなたは、このソリューションを試したことがありますか? https://stackoverflow.com/questions/930219/how-to-handle-blocked-clipboard-and-other-oddities – Neal

答えて

1

ありがとうNeal!

はそのを通じて見て、最後に私は、全体のループを削除することができますし、Clipboard.SetDataObject("", False, 20, 300)が正常に動作します代わりにClipboard.Clear()

関連する問題