クリップボードのデータの格納と読み取り (Visual Basic)

クリップボードは、テキストやイメージなどのデータの格納に使用できます。クリップボードはすべてのアクティブ プロセスが共有しているので、プロセス間でのデータの転送に使用できます。My.Computer.Clipboard のオブジェクトの割り当て簡単にクリップボード アクセスでき、読み書きに読み込む。

クリップボードから読み取ったり

クリップボードからテキストを読み取るために GetText のメソッドを使用します。次のコードでは、テキストを読み込み、メッセージ ボックスに表示します。この例が正しく動作するためには、クリップボードにテキストが格納されている必要があります。

MsgBox(My.Computer.Clipboard.GetText())

このコードの例は、IntelliSense コード スニペットとしても利用できます。コード スニペット ピッカーでは、これは [Windows Forms Applications] の [Clipboard] にあります。詳細については、「コード スニペット」を参照してください。

GetImage メソッドを使用して、クリップボードからイメージを取得します。この例では、クリップボードにイメージが格納されているかどうかを確認してから、そのイメージを取得し、 PictureBox1 に割り当てます。

If My.Computer.Clipboard.ContainsImage() Then
  Dim grabpicture As System.Drawing.Image
  grabpicture = My.Computer.Clipboard.GetImage()
  picturebox1.Image = grabpicture
End If

このコードの例は、IntelliSense コード スニペットとしても利用できます。コード スニペット ピッカーでは、これは [Windows Forms Applications] の [Clipboard] にあります。詳細については、「コード スニペット」を参照してください。

クリップボードに格納したアイテムは、アプリケーションの終了後も保持されます。

クリップボードに格納されているファイルの種類を決定します。

クリップボードのデータは、テキスト、オーディオ ファイル、イメージなど、さまざまな形式をとります。クリップボードに格納されているファイルの種類を判断するには、ContainsAudioContainsFileDropListContainsImage、および ContainsText の各メソッドを使用できます。ContainsData メソッドを使用すると、カスタムの形式をチェックできます。

ContainsImage 関数を使用して、クリップボードに格納されているデータがイメージかどうかを判断します。次のコードは、データがイメージかどうかを確認し、それに応じて報告します。

If My.Computer.Clipboard.ContainsImage() Then
    MsgBox("Clipboard contains an image.")
Else
    MsgBox("Clipboard does not contain an image.")
End If

クリップボードを消去

Clear メソッドは、クリップボードを消去します。クリップボードは他のプロセスと共有されているので、クリップボードを消去すると他のプロセスに影響が及ぶことがあります。

Clear メソッドの使用例を次のコードに示します。

My.Computer.Clipboard.Clear()

クリップボードに書き込みます

SetText メソッドを使用して、クリップボードにテキストを書き込みます。次のコードは、文字列 "This is a test string" をクリップボードに書き込みます。

My.Computer.Clipboard.SetText("This is a test string.")

SetText のメソッドは TextDataFormatの型を含むフォーム パラメーターを使用できます。次のコードは、文字列 "This is a test string" を RTF テキストとしてクリップボードに書き込みます。

My.Computer.Clipboard.SetText("This is a test string.", 
System.Windows.Forms.TextDataFormat.Rtf)

SetData メソッドを使用して、クリップボードにデータを書き込みます。この例は、DataObjectdataChunk をカスタム形式 specialFormat でクリップボードに書き込みます。

My.Computer.Clipboard.SetData("specialFormat", dataChunk)

SetAudio メソッドを使用して、オーディオ データをクリップボードに書き込みます。この例では、バイト配列 musicReader を作成し、ファイル cool.wav をその中に読み込んでから、クリップボードに書き込みます。

Dim musicReader = My.Computer.FileSystem.ReadAllBytes("cool.wav")
My.Computer.Clipboard.SetAudio(musicReader)
セキュリティに関するメモセキュリティに関するメモ

クリップボードには他のユーザーからもアクセス可能なので、クリップボードを使ってパスワードや極秘データなどの機密情報を格納しないでください。

参照

処理手順

方法: XML ファイルからオブジェクト データを読み込む (C# および Visual Basic)

方法: XML ファイルにオブジェクト データを書き込む (C# および Visual Basic)

関連項目

ClipboardProxy

GetAudioStream

SetDataObject