1 怎样判断某个程序正在被使用?
比如:我打开了我的一个程序名字叫 "a.exe",怎样编写一个程序来判断"a.exe"正在被使用?如果正在被使用给出一个提示,如果"a.exe"使用完后被关闭就删除它。即编写一个程序在后台监视。请各位能帮我一下,小弟在此万分感激。是否您能分别编一个程序发到我的信箱?
Email: [email protected]
比如:我打开了我的一个程序名字叫 "a.exe",怎样编写一个程序来判断"a.exe"正在被使用?如果正在被使用给出一个提示,如果"a.exe"使用完后被关闭就删除它。即编写一个程序在后台监视。请各位能帮我一下,小弟在此万分感激。是否您能分别编一个程序发到我的信箱?
Email: [email protected]
var
hmutex:hwnd;
ret:integer;
begin
Application.Initialize;
hmutex:=createmutex(nil,false,'project1');
//这里project1是程序的名称 ret:=getlasterror;
if ret<>error_already_exists then
begin
Application.CreateForm(TForm1, Form1);
end
else
begin
messagedlg('程序已运行。',mtinformation,[mbok],0);
releasemutex(hmutex);
end;//将上面的额程序加到你的额project里面
if h = 0 then Application.Run ;
var
HFileRes: HFILE;
begin
Result := False;
if not FileExists(AFileName) then
exit;
HFileRes := CreateFile(pchar(AFileName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;