아래 코드는 오류없이 실행됩니다.VB6 : 명령을 실행할 때까지 기다리는 방법
하지만이 줄에서 프로세스가 종료 될 때까지 기다려야합니다 : WshShell.Exec "TASKKILL /F /IM " & EngineRun.ProcessID
msgbox가 종료되었다는 것을 표시하기 전에 기다려야합니다. 어떤 도움
아래 코드는 오류없이 실행됩니다.VB6 : 명령을 실행할 때까지 기다리는 방법
하지만이 줄에서 프로세스가 종료 될 때까지 기다려야합니다 : WshShell.Exec "TASKKILL /F /IM " & EngineRun.ProcessID
msgbox가 종료되었다는 것을 표시하기 전에 기다려야합니다. 어떤 도움
에 대한
Option Explicit
Dim WshShell As Object
Dim EngineRun As Object
Sub main()
Set WshShell = CreateObject("WScript.Shell")
Set EngineRun = WshShell.Exec("notepad.exe")
MsgBox EngineRun.ProcessID
WshShell.Exec "TASKKILL /F /IM " & EngineRun.ProcessID
MsgBox EngineRun.ProcessID & (" terminated")
End Sub
덕분에 대신 Run
방법을 사용할 수 있을까요? MSDN을 참조하십시오. 그것은 bWaitOnReturn 매개 변수를 지원합니다 제대로
WshShell.Run "TASKKILL /F /IM " & EngineRun.ProcessID,4 , True
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
For Each objItem in colItems
'msgbox objItem.ProcessID & " " & objItem.CommandLine
If objItem.name = "Calculator.exe" then objItem.terminate
Next
하는 일 :
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
그래서 코드는 같을 것이다.
'WshShell.run'TASKKILL/F/IM '& EngineRun.ProcessID, True'로 변경되었으며 우승자가 있습니다! 나는 Do ... Until을 사용하는 다른 방법을 시도했지만 너의 것은 훨씬 깨끗하고 간단하다. 시간 내 줘서 고마워! – Chris