My.Computer.Clipboard オブジェクト
更新 : 2007 年 11 月
クリップボードを操作するためのメソッドを提供します。
解説
クリップボードに移動またはコピーされた項目は、アプリケーションが終了した後も保持されます。
クリップボードに置くデータは、どの形式のものでもかまいません。これはクリップボード形式とも呼ばれます。DataFormats を参照すると、クリップボードで使用できるよう定義済みである形式の一覧が確認できます。クリップボードに項目が移動またはコピーされると、それ以外の形式の項目が消去されます。形式の異なるデータが消去されないようにするには DataObject を使用します。これにより、他のアプリケーションから貼り付けられた項目も含め、その時点でクリップボードに存在するすべてのデータがコピーされます。貼り付け先のアプリケーションでどの形式を使用すればよいかわからないような場合でも、クリップボードに複数の形式でデータを置いておけば、データの貼り付けに失敗する可能性がかなり低くなります。
クリップボードのシステムは、すべての Windows アプリケーションで共有されます。したがって、別のアプリケーションに切り替えたとき、クリップボードの内容が変わる可能性があります。
クラスをクリップボードに置く場合は、クラスをシリアル化する必要があります。詳細については、「シリアル化」を参照してください。
リモートからクリップボードにアクセスした場合、そのスレッドが STA (Single-Threaded Apartment) モードで動作していなければ、ThreadStateException がスローされます。これを回避するには、ThreadApartmentState に STA を設定します。詳細については、「STAThreadAttribute」を参照してください。
処理手順
My.Computer.Clipboard オブジェクトに関連する操作の例を次の表に示します。
目的 |
参照項目 |
---|---|
クリップボードを消去する |
|
クリップボードからデータを読み取る |
|
クリップボードに格納されているデータを確認する |
|
クリップボードにオーディオを保存する |
|
クリップボードからイメージを取得する |
|
クリップボードにデータを格納する |
使用例
クリップボードからテキストを読み込んで文字列 textOnClipboard に格納する例は、次のようになります。
Dim textOnClipboard As String = My.Computer.Clipboard.GetText()
この例では、クリップボードにテキストがなければエラーになります。
必要条件
名前空間 : Microsoft.VisualBasic.MyServices
クラス : ClipboardProxy (Clipboard へのアクセスを可能にします)
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)
プロジェクトの種類ごとの可用性
プロジェクトの種類 |
可用性 |
---|---|
Windows アプリケーション |
あり |
クラス ライブラリ |
あり |
コンソール アプリケーション |
あり |
Windows コントロール ライブラリ |
あり |
Web コントロール ライブラリ |
なし |
Windows サービス |
あり |
Web サイト |
なし |