Active Basic 他のアプリケーションを終了させる
Active Basic4.23.00を使用しています。
指定したほかのプロセスを終了させようと思っているのですが、
なかなか上手くいきません。
Dim hWnd As HWND
Dim err As Long
Dim code As DWord
hWnd=FindWindow("notepad",NULL)
If hWnd=NULL Then
MessageBox(hMainWnd,"FindWindowでエラーが発生!","Error",MB_OK or MB_ICONHAND)
Exit Sub
End If
GetExitCodeProcess(hWnd,code)
If code=STILL_ACTIVE Then
MessageBox(hMainWnd,"GetExitCodeProcessでSTILL_ACTIVEが返った!","Error",MB_OK or MB_ICONHAND)
Exit Sub
End If
err=TerminateProcess(hWnd,code)
If err=0 Then
MessageBox(hMainWnd,"TerminateProcessでエラーが発生!","Error",MB_OK or MB_ICONHAND)
MessageBox(0,Str$(code),"GetExitCodeProcessで取得したコード",MB_OK or MB_ICONINFORMATION)
Exit Sub
End If
このようなコードを書きました。
すみませんが、間違いの指摘のほうをお願いします。
それと、『FindWindow』関数についてです。
ヘルプに、
>lpClassName
>検索するクラス名を指定します。必要のないときは、NULL を指定することができます。
とありますが、クラス名≒プロセス名と考えてもいいのでしょうか。
また、lpClassNameを指定し、lpWindowNameにNULLを指定(今回のコードのような場合)では、ハンドルを取得できないのでしょうか。
すみませんが、ご教授をお願いします。
お礼
うまくできました! ありがとうございました。