Я пытаюсь получить с помощью клиентского скрипта список активных приложений, работающих на момент работы скрипта для того, чтобы заполнить список, а потом пеерключаться между приложениями из списка. Что вызвать из VBScript API функции нельзя, я знаю, пытался использовать объект WMI — но не могу понять возможно ли получить список активных окон — список процессов — пожалуйста
Machine="GeoITWS0"' имя машины
set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}" _
& "!" & Machine).InstancesOf("Win32_Process")
' перечисление процессов
For Each oProcess in oWMI
processes = processes & oProcess.Name & _
" " & oProcess.ProcessID & _
" " & oProcess.priority & chr(13) & chr(10)
Next
Правда на самом деле я не понимаю что использую:
("winmgmts:{impersonationLevel=impersonate}" & "!" & Machine).InstancesOf("Win32_Process").
Может быть подскажете как именно получить список работающих приложений? мне это нужно чтобы потом была возможность использовать метод AppActivate:
dim WSH
set WSH=WScript.CreateObject("WScript.Shell")
WSH.AppActivate ("заголовок активного окна")
ActiveX как обертку API функций для этого я использовать не могу, проблема в том, что этот скрипт будет работать в нашей интрасети, в которой большое количество пользователей, не имеющих прав администратора на своих машинах, поэтому невозможно будет зарегистрировать ActiveX на их машинах. А устанавливать его на каждой машине администратору просто невозможно — машины территориально раскиданы. Если возможно, посоветуйте, как решить эту проблему с использованием входящих в Windows объектов таких как WMI.