第1个回答 2011-12-29
Option Explicit
Dim ExePath$, objWMIService, colProcesslist, objProcess
Private Sub Command1_Click()
MsgBox IIf(Isrunexe("qq.exe"), "QQ运行中,路径:" & ExePath, "QQ未运行")
End Sub
Public Function Isrunexe(ExeNm As String) As Boolean
Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesslist = objWMIService.ExecQuery("Select * from
Win32_Process Where Name = '" & ExeNm & "'")
Isrunexe = IIf(colProcesslist.Count > 0, True, False)
If Isrunexe Then
For Each objProcess In colProcesslist
'Print objProcess.Name & "---" & objProcess.processid & "---" &
objProcess.ExecutablePath
ExePath = objProcess.ExecutablePath
Next
End If
Set objWMIService = Nothing
Set colProcesslist = Nothing
End Function
将QQ改成你自己的程序名就可以了。本回答被提问者采纳