他のEXEから他のEXEを指定して終了するには?

解決


ぷれみあ  2003-10-29 03:48:36  No: 109470

只今、他のEXEから他のEXEを終了し処理を行い、また終了したEXEを起動する事をしたい事で悩んでいます。
起動は分かるのですが、終了が分かりません。
もちろん、書庫などあさりましたが、それらしい事は載っていなく困っています。

下記に例を書きます。

1.「b.exe」は起動中です。
2.「a.exe」から、起動中の「b.exe」を終了
3.「a.exe」の処理を行う。
4.「a.exe」の処理終了後に、「b.exe」を起動して元の状態に戻す。

こんな事をしたいので、「b.exe」を終了したいのです。

ここでいう、終了=EXEを殺す。

どうか知っている方宜しくお願いします。


魔界の仮面弁士  2003-10-29 07:50:07  No: 109471

あまりスマートな方法ではありませんが、例えばこんな感じで。

Option Explicit

Private Calc As Object

Private Sub Command1_Click()
    Dim intProcessId As Integer
    Dim objSWbemObject As Object
    Dim strQuery As String
    
    With GetObject("winmgmts:")
        .Get("Win32_Process").Create "CALC.EXE", "C:\", Null, intProcessId
        strQuery = "SELECT * FROM Win32_Process WHERE ProcessId=" & CStr(intProcessId)
        For Each Calc In .ExecQuery(strQuery)
            Set objSWbemObject = Calc
            Exit For
        Next
    End With
End Sub

Private Sub Command2_Click()
    Calc.Terminate 0
End Sub


ぷれみあ  2003-10-30 04:23:00  No: 109472

教えて頂いた情報を改良して解決しました。
助かりました。ありがとうございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加