VB怎样查看某个进程号所对应的程序名及其是否已经运行

来源:百度知道 编辑:UC知道 时间:2024/09/24 00:40:57
如题,我想要检查一个进程号对应的进程是否在运行,如果没有,则再List1里面添加这个进程号对应的进程名.
我用一个List2做备用怎么样呢..........实在不行来个List3,这个不是限制的,你们可以任意添加!我要的只是个效果

这还不简单?

告诉你最简单的方法

进程号>0 则进程已经运行

程序没有运行的话,进程号是0或者是Null

你就设定这么个判断,假设进程号是pid

if pid>0 then ....
else: .....

如果没有,则进程号为无效状态,无论如何也得不到对应的进程名。

请检查你所描述的问题是否正确。

嗯,没运行的时候是得不到进程名的,呵,下面是利用API函数由一个进程号来判断进程是否运行的函数,如果是的话则在list1里面添加这个进程的路径,例如我的记事本的进程号是2600,刚list1显示: c:\WINDOWS\system32\notepad.exe,还有,你可以利用Shell("notepad.exe")来得到进程号

Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Private Declare Function EnumProcessModules Lib "psapi.dll" (ByVal hProcess As Long, ByRef lphModule As Long, ByVal cb As Long, ByRef cbNeeded As Long) As Long

Private Declare Function GetModuleFileNameExA Lib "psapi.dll" (ByVal hProcess As Long, ByVal hModule As Long, ByVal ModuleName As String, ByVal nSize As Long) As Long

Priva