DOBON.NET DOBON.NETプログラミング掲示板過去ログ

プロセスをアクティブにする方法

環境/言語:[VB.Net、.Net Framework1.1]
分類:[.NET]

はじめまして、まつと申します。

Process.startでアプリケーションを起動し、それに対してSendkeysで操作を行い、
アプリケーションが終了しましたらSendkeysの後の処理を行うようなプログラムを
作っています。
ここで質問なのですが起動したアプリケーションをアクティブにする方法はあるの
でしょうか?
ちなみに最初はShell関数とActivate()で作ってみたのですが、処理の手順の関係
で使えませんでした。

すみませんが、ご教授をよろしくお願いします。
■No1990に返信(まつさんの記事)
> ここで質問なのですが起動したアプリケーションをアクティブにする方法はあるの
> でしょうか?

SetForegroundWindowを使ってみてはいかがでしょうか?

Private Declare Function SetForegroundWindow Lib "user32" _
    Alias "SetForegroundWindow" (ByVal hwnd As Integer) As Integer

Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
    Dim p As Process = Process.Start("notepad.exe")
    '10秒後にアクティブにする
    Threading.Thread.Sleep(10000)
    SetForegroundWindow(p.MainWindowHandle.ToInt32())
End Sub
> SetForegroundWindowを使ってみてはいかがでしょうか?

API関数で出来るんですね。勉強不足でした・・。
この方法で試してみます。
どうもありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板