注册 登录
编程论坛 Delphi论坛

[求助]如何控制一个窗体不能同时打开多个?

飞标 发布于 2007-04-20 21:14, 1063 次点击
请问 如何控制一个窗体不能同时打开多个?
就是一 次只能打开一个相同的窗体?(不用隐藏打开窗体按钮的方法!)
多谢大家帮助!
3 回复
#2
anthony6342007-04-20 22:25

你的意思是一个应用程序不能打开多个吧?建个互斥就可以了CreateMutex(..)

program Project1;

uses
Forms, Windows,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

var
aHandle: THandle;
begin
aHandle := CreateMutex(nil, TRUE, ' ');
if (aHandle<>0) and (GetLastError=ERROR_ALREADY_EXISTS)then
begin
CloseHandle(aHandle);
Halt;
end;
Application.Initialize;
Application.CreateForm(Tform1,form1);
Application.Run;
end.

[此贴子已经被作者于2007-4-20 22:54:38编辑过]

#3
飞标2007-04-22 20:45
我的意思是 一个窗体不能打开多个
不是一个程序可以打开多个
不过也很谢谢你的这个答案 因为我也需要这个功能
多谢!
#4
xu20002007-04-23 23:14
if Form1=nil then
Application.CreateForm(Tform1,form1);
Form1.show;
1