VB执行程序问题?

来源:百度知道 编辑:UC知道 时间:2024/05/06 02:02:44
例如:
我执行D盘1.exe 就是这样
Private Sub Command1_Click()
Shell "D:\1.exe"
End Sub
我想要的是如果1.exe程序在系统运行,就不执行它.
如果1.exe没有运行的话,就执行1.exe.
请VB高手们来帮忙,谢谢了

Private Sub Command1_Click()
Dim s, mFind As Boolean
Dim objWMIService, colProcessList, objProcess
s = "1.exe"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name='" & s & "'")
For Each objProcess In colProcessList
mFind = True '1.exe 是否已运行的标识
Exit For
Next
If mFind = False Then Shell "D:\1.exe" '如果1.exe没有运行的话,就执行1.exe.
End Sub

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As