我怎么样才能让程序只能运行一个实例?
解决方案 »
- 我写了一个函数,在编译时老是提醒有问题,高手帮忙看一下
- 如何判断SQL中一个表是否存在.如何判断SQL是否已启动,如何屏蔽DELPHI自己的错误提示,如联接一个不存在的表
- 字符串中有随机空格怎么去掉?
- 有想做网络游戏外挂的吗
- delphi6 的程序 在win7 里面运行出现 property intervalcolor does not exit!
- 如何实现控件旋转显示
- 呼叫‘考勤王’!!哪位GG或MM知道指纹的采样方法呀???
- 用 Delphi 来编小区管理系统 遇到一个问题,放分
- 怎样用sql语句来实现?
- 关于UDP多对多即时数据传输,求指点。
- 如何让Stringgrid中的单元格的内容显示换行?
- dbgrid显示问题
恢复Application的Title值
上述步骤一般在主Form的OnCreate事件中实现,示例如下:procedure TForm1.FormCreate(Sender: TObject);
var
ZAppName: array[0..127] of char;
Hold: String;
Found: HWND;
begin
Hold := Application.Title;
Application.Title := 'OnlyOne'
+ IntToStr(HInstance); // 暂时修改窗口标题
StrPCopy(ZAppName, Hold); // 原窗口标题
Found := FindWindow(nil, ZAppName); // 查找窗口
Application.Title := Hold; // 恢复窗口标题
if Found<>0 then begin
// 若找到则激活已运行的程序并结束自身 ShowWindow(Found, SW_RESTORE);
Application.Terminate;
end;
end;
Forms,windows,
Unit1 in 'Unit1.pas' {Form1};var hw:hwnd;{$R *.RES}
begin
Application.Initialize;
application.title:='test';//名字自己定义
CreateMutex(nil, false, 'ADManager');
if GetLastError <> ERROR_ALREADY_EXISTS then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.