■ メニュー終了時にアプリケーションの起動を確認するには
まさ
2008/02/05(火) 17:06:54
メニューからプログラム(EXE)を起動しています。
メニューを閉じるときに、メニューから起動したプログラムが
起動していないか確認をしたいのですが、どのような方法が
ありますか。
APIを使用する方法で構いません。
よろしくお願いします。
開発環境
XP Pro
VB6.0
我龍院
2008/02/05(火) 17:30:42
通常はAPIのFindWindowですね。
もげ
2008/02/05(火) 17:35:48 <常連> 
あとは、
・Win32_Process クラス(WMI)
・CreateToolhelp32Snapshot
Process32First
Process32Next
・EnumProcesses
のいずれかで。
http://support.microsoft.com/kb/175030/ja
まさ
2008/02/06(水) 11:01:01
本日、FindWindowを試してみました。
ウィンドウタイトルを取得するために、起動したプログラムの
タイトルを取得しようと試みましたが、うまくいきません。
方法として、GetActiveWindowとGetWindowTextを使用しましたが、
起動したプログラムがアクティブと判断されず、スペースが返さ
れます。
どうすれば、ウィンドウタイトルの取得ができますか?
よろしくお願いします。
matsu
2008/02/06(水) 11:59:08
AppActivateを使う方法はどうでしょうか?
Private Sub Command1_Click()
Dim dblID As Double
On Error GoTo ActivateERR
dblID = Shell("NOTEPAD.EXE", vbNormalFocus)
AppActivate (dblID)
MsgBox "起動中"
Exit Sub
ActivateERR:
MsgBox "起動していません"
End Sub
Shellで起動している場合はタスク IDが使えます。
起動したアプリケーションがアクティブになってしましますが。
我龍院
2008/02/06(水) 12:44:55
自分で起動してるなら、調べるWindowのウィンドウ名か、クラス名はわかりませんか。
まさか
2008/02/06(水) 16:19:28
ウィンドウのないアプリとかでは?
まさ
2008/02/07(木) 09:13:45
[[解決]]
みなさんのおかげで解決しました。
ありがとうございました。
毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!
