下面是个防止程序多次运行教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!
【 tulaoshi.com - 编程语言 】
网络ID:wnhoo or sos_admin
网名:e梦缘
Mail:wnhoo@163.com
风花雪月 e梦情缘
http://delphi.ur-solution.com/delphi_download/upload/33954_wnhoo.rar
[dpr部分]
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1}
,Windows, Messages;
const
hfck=wm_user+$1000;
appname='myname';
var
myhandle:hwnd;
{$R *.res}
begin
myhandle:=findwindow(appname,nil);
if myhandle0 then
begin
postmessage(myhandle,hfck,0,0);
exit;
end;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
[form部分]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
const
hfck=wm_user+$1000;
appname='myname';
type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure createparams(var params:tcreateparams);override;
procedure restorerequest(var msg:tmessage);message hfck;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.createparams(var params:tcreateparams);
begin
inherited createparams(params);
params.WinClassName:=appname;
end;
procedure TForm1.restorerequest(var msg:tmessage);
begin
if isiconic(application.Handle )=true then
application.Restore
else
application.BringToFront ;
end;
end.
来源:http://www.tulaoshi.com/n/20160219/1602133.html