投稿日 | : 2003/12/26(Fri) 13:45 |
投稿者 | : 花ちゃん |
Eメール | : |
URL | : |
タイトル | : Re^5: アプリケーションの終了 |
> TerminateProcessを使用すると殺せません
> Dim handle_id As Long
> handle_id = FindWindow(vbNullString, キャプション名)
> Call TerminateProcess(handle_id, 0&)
> Call CloseHandle(handle_id)
下記ではどうですか?
'クラス名より、ウィンドウのハンドルを取得(電卓の場合)
hWindow = FindWindowEx(0, 0, "SciCalc", vbNullString)
'プロセスIDを取得
Call GetWindowThreadProcessId(hWindow, ProcessID)
'プロセスオブジェクトのハンドルを取得
hProcess = OpenProcess(PROCESS_ALL_ACCESS, True, ProcessID)
'プロセスを強制終了する
Call TerminateProcess(hProcess, 0&)
'オブジェクトのハンドルを開放
Call CloseHandle(hProcess)
URLのサンプルではコールバック関数を使用していますが、別に使用せずとも同様に一覧を取得
出来ますよ。