您的位置:首页 > 编程语言 > Delphi

delphi中如何查看某个程序在进程中是否已经存在

2012-07-12 22:30 531 查看
uses   TLHelp32
注意

function   FindProcess(AFileName:   string):   boolean;
var
hSnapshot:   THandle;//用于获得进程列表
lppe:   TProcessEntry32;//用于查找进程
Found:   Boolean;//用于判断进程遍历是否完成
begin
Result   :=False;
hSnapshot   :=   CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,   0);//获得系统进程列表
lppe.dwSize   :=   SizeOf(TProcessEntry32);//在调用Process32First   API之前,需要初始化lppe记录的大小
Found   :=   Process32First(hSnapshot,   lppe);//将进程列表的第一个进程信息读入ppe记录中
while   Found   do
begin
if   ((UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase(AFileName))   or   (UpperCase(lppe.szExeFile   )=UpperCase(AFileName)))   then
begin
Result   :=True;
end;
Found   :=   Process32Next(hSnapshot,   lppe);//将进程列表的下一个进程信息读入lppe记录中
end;
end;
例子     if   FindProcess( 'mysqld-nt.exe ')   then   memo1.Lines.Add( '发现SQL服务! ');
特此感谢资料:http://topic.csdn.net/u/20070720/06/08ee0470-64a4-43b6-a1ea-20cf6dfc17d0.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: