1
獲取腳本名稱我使用這個代碼:的VBScript - 從WScript.exe的過程
dim name
name=createobject("wscript.shell").expandenvironmentstrings("%computername%")
set wmi=getobject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& name & "\root\cimv2")
for each hwnd in wmi.instancesof("Win32_process")
if hwnd.name="wscript.exe" then
'get name and possibly location of currently running script
end if
next
我成功上市的所有進程和挑選出WScript.exe的。但是,我已經搜索並找不到在wscript.exe中運行的腳本的名稱,即。是它myscript.vbs或jscript.js或任何東西。如果有方法可以找到腳本的整個路徑,則可獲得獎勵。
編輯: 隨着更多的搜索,我找到了一個解決方案。在上面的腳本中,hwnd變量存儲wscript.exe進程的句柄。有一個處理屬性:hwnd.commandline。它展示瞭如何從命令行調用,所以這將是這樣的:
"C:\Windows\System32\wscript.exe" "C:\path\to\script.vbs"
所以我可以解析hwnd.commandline字符串找到所有運行腳本的路徑和名稱。
也許我的問題是混亂的。我知道如何獲得當前運行的VBScript的名稱。我問的是如何從另一個wscript.exe的句柄中獲取正在運行的腳本的名稱。 – Bob 2013-02-28 14:26:40
啊哈,我不好,現在我明白你的要求了。好的,我會編輯我的答案;-) – 2013-02-28 16:55:59
P.S.現在我看到你已經找到了答案。乾杯! – 2013-02-28 17:03:55