怎么判断已打开某个程序?

sam_chen 2006-03-20 09:57:52
要做到了不能打开两个相同的软件。谢谢各位高手相助。
...全文
75 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
afanyun 2006-03-20
  • 打赏
  • 举报
回复
var
h:hWnd;
begin
h := Findwindow('TApplication',pchar('应用程序标题'));
if h<>0 then //已经打开过了
begin
postmessage(h,wm_quit,1,1); //关闭打开的程序
end;
end;
柯本 2006-03-20
  • 打赏
  • 举报
回复
1.用findwindow
2.function CheckIsFirst:Boolean;
begin
fMutexHandle:=OpenMutex(mutex_all_access,False,'a_program_name');
if fMutexHandle=0 then
begin
fMutexHandle:=CreateMutex(nil,false,'a_program_name');
result:=fMutexHandle<>0;
end else
begin
Result:=False;
TUtils.ShowMess('程序已经运行,不允许两个实例同时运行!');
end;

end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧