他プロセスにキーコードを送るには?

解決


まいこ  2010-12-19 18:03:16  No: 147266  IP: [192.*.*.*]

お世話になります。
他のプロセスを取得し、最前面に表示し、Ctrl+Tab 等のキーコードを
送るにはどのようにすればいいでしょうか。
最前面に表示まではできたのですが、キーコードを送る方法がわかりません。

VB.NET 2005 です。

Declare Auto Function SetForegroundWindow Lib "USER32.DLL" (ByVal hWnd As IntPtr) As Boolean

Dim pList() As Process
Dim hWnd As IntPtr

pList = System.Diagnostics.Process.GetProcesses

For Each p As Process In pList

    'ウィンドウタイトルチェック
    If Not p.MainWindowTitle.Equals("ほにゃらら") Then
        Continue For
    End If

    hWnd = p.MainWindowHandle
    SetForegroundWindow(hWnd)

Next

編集 削除
VBレスキュー(花ちゃん)  URL  2010-12-20 08:01:30  No: 147267  IP: [192.*.*.*]

簡単な方法なら、SendKeys.Send メソッド でも可能です。
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.sendkeys.send(v=vs.80).aspx

本格的に操作するなら、SendInput 関数 を使用するとか。
http://hanatyan.sakura.ne.jp/patio/read.cgi?no=245

編集 削除
まいこ  2010-12-20 10:55:13  No: 147268  IP: [192.*.*.*]

VBレスキュー(花ちゃん)様、ご回答有難うございました。
教えて頂いた方法で、目的の操作をする事ができました。

編集 削除
河西  2010-12-23 13:14:44  No: 147269  IP: [192.*.*.*]

本を買え。バカ君
ただし、上岡バカ勇人の本はやめとけ。
効率が悪い3級のサンプルコードが多く、役にたたない。
それに毎年脱税しているクズだから。

編集 削除