クリップボードの中身を判別
PHPなどは理解しておりますが、VBに関してはまったく素人で何もわからないものです。
今回、クリップボードの中身を常に監視して、ある文字列が含まれていたらそのまま、それ以外の文字列の場合は空にするアプリが必要になりました。
そこでネットでいろいろ探して次のように作りました。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'クリップボードの文字列データを取得する
Dim ClipBoardValue As IDataObject
Dim ClipBoardString As String
Dim okng As Boolean
Do
'クリップボードのデータを取得()
ClipBoardValue = Clipboard.GetDataObject
ClipBoardString = ClipBoardValue.GetData(DataFormats.Text).ToString
okng = ClipBoardString.Contains("反応あり")
If (okng) Then
'クリップボードに文字列をコピーする
Clipboard.SetDataObject("反応あり")
Else
Clipboard.SetDataObject("")
End If
Loop
End Sub
End Class
一つのフォームにボタンを一つ設置し、起動したら監視開始、ボタンをクリックしたら終了という形にしています。
動作させると、以下の問題があります。
・どんな文字をコピーしてもすぐ空になってしまう
・フォームが表示されない
・起動時にクリップボードの中身が空だとエラーが表示される
(オブジェクトのインスタンスにはnewを使用しろとかなんとか。。。)
正しい動作をするコードを教えていただけないでしょうか。
よろしくお願い致します。
お礼
即効での解答どうもありがとうございました。 gettextでよかったんですね。 PASTEを使うのかとおもって ずっとMSDNとにらめっこしてました(笑) おかげで貼り付けOKです。 どうもありがとうございました。