Winmgmts создает процесс IE, возвращающий неверный идентификатор процесса vbscript
Я пытаюсь получить идентификатор процесса, созданного с использованием метода winmgmts create и с помощью свойства processID. Но похоже, что это дает мне неправильный идентификатор процесса. Можете ли вы помочь?
Примечание. Это происходит, когда на компьютере уже запущен iexplore.exe. Если он запущен заново, он получает правильный идентификатор процесса.
Set objWMIService = GetObject("winmgmts:" & "impersonationLevel=impersonate}!\\.\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = 1 'SW_NORMAL
Set objProcess = objWMIService.Get("Win32_Process")
intReturn = objProcess.Create("C:\program files\internet
explorer\iexplore.exe", Null, objConfig, intProcessID)
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
query = "SELECT ProcessId FROM Win32_Process WHERE ProcessId='" &
intProcessID & "'"
Set colItems = objWMIService.ExecQuery(query, , wmi_flags)
For Each objItem In colItems
intProcessID = objItem.ProcessID
Next
Но идентификатор процесса, который я получаю в intProcessID, отличается от того, что я вижу в диспетчере задач, и кажется, что этот процесс уже завершен. Есть ли способ получить правильный идентификатор процесса для IE? Это порождает какой-то дочерний процесс и прекращается? Можете ли вы помочь?
С уважением, Ганеш.