0

解決策を見つけるために2日間働いた後、私はあきらめてあなたの助けを求めます. たとえば、www.msn.nl などの URL を起動する vbs が必要であり、ユーザーが同じ URL で IE を閉じるまで、そのスクリプトを開いたままにしておく必要があります。私は、proces-id で動作し、notepad.exe のような実行可能ファイルに対して正常に動作するスクリプトをプログラムしました。ただし、このスクリプトは Internet Explorer では機能しません。URL が起動されると、proces-id が変更されます。そして、私の問題があります。どういうわけか、その新しいプロセス ID を取得する必要があります。

これは私が今まで作ったスクリプトです:

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process")
errReturn = objProcess.Create("c:\Program Files (x86)\Internet Explorer\iexplore.exe  www.msn.com", null, objConfig, PID)
'errReturn = objProcess.Create("notepad.exe", null, objConfig, PID)

' Verify Process Availability

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

ProcessItem = "Select * from Win32_Process Where ProcessID = " & PID
WScript.Echo PID

Do
Set colProcesses = objWMIService.ExecQuery (ProcessItem)

Set WshShell = WScript.CreateObject("WScript.Shell") 

If Not colProcesses.Count = 0 Then
    WScript.Sleep 1500
    'WScript.Echo "running"
Else
    WScript.Echo "quit"
    WScript.Quit
End If
Loop
4

1 に答える 1