相关疑难解决方法(0)

在VBScript中查找我自己的进程ID

我正在使用以下代码片段来确定我的vbscript正在运行的进程ID:

On Error Resume Next
Dim iMyPID : iMyPID = GetObject("winmgmts:root\cimv2").Get("Win32_Process.Handle='" & CreateObject("WScript.Shell").Exec("mshta.exe").ProcessID & "'").ParentProcessId
If Err.Number <> 0 Then Call Handle_Error(Err.Description)
On Error Goto 0
Run Code Online (Sandbox Code Playgroud)

在我的Windows 7(32位)计算机上,大约90%的时间都可以运行,并且iMyPID包含当前运行脚本的进程ID.但是,有10%的时间Handle_Error会被错误消息" SWbemServicesEX:Not found " 调用.

最近运行Windows 7(64位)的其他人报告Handle_Error总是被错误消息" Out of memory " 调用.这似乎是一个疯狂的错误消息,只是为了找到你自己的进程ID!

任何人都可以推荐更好的方法吗?

vbscript pid

9
推荐指数
2
解决办法
4万
查看次数

标签 统计

pid ×1

vbscript ×1