• 締切済み

VB.NETでクリップボードの内容の転送

VB.NETにて下記のプログラムを作成したいのですがどのようにすればよいのでしょうか? (1).市販のソフトの、入力項目(テキストボックス)にフォーカスを置く (2).VB.NETのプログラムで、入力項目に入れる内容をクリップボードに保存し、ボタンを押すと   (1)の入力項目(テキストボックス)に値が貼り付く パスワードを管理するフリーソフトで上記機能を実現しているので技術的には可能のようで、 いろいろ調べましたが解りませんでした。 (自分で作成したDelphiやPowerBuilderのプログラムでも出来ました) 以上、よろしくお願いします。

みんなの回答

回答No.3

http://okweb.jp/kotaeru.php3?q=819182 アドレスまちがい

すると、全ての回答が全文表示されます。
回答No.2

よーく考えてみたら、 >フォーカスを置く >クリップボード もしかして、テキスト項目への値反映は、貼り付けコマンドを発行する方法ですよね? もしそうなら、SendKeysオブジェクトで実現可能です。 参考までに、ここの掲示板の履歴(API未使用) http://okweb.jp/kotaeru.php3?q=1247823 をコンバートすると --------------------------------------------- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   Dim strFase As String   Dim lngSts As Long   strFase = GetFaseStr()   System.Windows.Forms.Clipboard.SetDataObject(strFase)   Me.Visible = False   Application.DoEvents()   SendKeys.SendWait("^v")   Me.Visible = True End Sub Private Function GetFaseStr() As String   Dim strWk As String = ""   Dim intAry() As Integer = {-32391, -32432, 32, 76, 32, -32432, -32390, 121, 45, 126, 126, 126}   Dim i As Integer   For i = LBound(intAry) To UBound(intAry)     strWk = strWk & Chr(intAry(i))   Next i   GetFaseStr = strWk End Function --------------------------------------------- って感じです。 フォーカスを置いて実現するのであれば、あとはアプリケーションの検索と、その中のテキスト項目さえ見つかれば、いいだけですね。 ついでに余談です。 その市販アプリが、いやらしぃ制御さえしていなければ、クリップボードを介さず、フォーカスを置かないで、直接値をテキスト項目に送信する方法もありますよ。 何にしても、その入力項目をどのように探しているのかがわかなければ出来ませんが^^;

すると、全ての回答が全文表示されます。
回答No.1

Dim objClip As System.Windows.Forms.DataObject = System.Windows.Forms.Clipboard.GetDataObject() If objClip.GetDataPresent(DataFormats.Text) Then   Dim strWk As String = objClip.GetData(DataFormats.Text).ToString End If でクリップボードの文字列を取ることができます。 >市販のソフトの、入力項目(テキストボックス)にフォーカスを置く どのように実現されました? >自分で作成したDelphiやPowerBuilderのプログラムでも出来ました APIでやっているのであれば、それをVB方言に置き換えるだけです ロジックはこちらで「あーだこーだ」と言うより、そちらのをコンバートかけた方が、今後のためにも(この掲示板を見た人の)勉強になると思うのですが、いかがでしょう?

すると、全ての回答が全文表示されます。

関連するQ&A