标准的屏保执行状况(执行屏保还是设置属性等等)是依靠参数来决定的,我曾经做个一个,你看看我的dpr文件: program Scr;uses Forms, windows, Sysutils, Src_pas in 'Src_pas.pas' {Form1}, Src_pas2 in 'Src_pas2.pas' {Form2}, Src_pas3 in 'Src_pas3.pas' {Form3}, Src_pas4 in 'Src_pas4.pas' {Form4};{$R *.RES} var Mutex:THandle; Tag:integer;begin Mutex:=CreateMutex(NIL,True,'SingleApp'); IF GetLastError<>ERROR_ALREADY_EXISTS THEN//如果不存在另一实例 BEGIN
Tag:=0; if LowerCase(ParamStr(1))='/a' then Tag:=1 else if LowerCase(ParamStr(1))='/p' then Tag:=2 else if LowerCase(ParamStr(1))='/c' then Tag:=3 else if LowerCase(ParamStr(1))='/s' then Tag:=4; // /a 在显示属性对话框中单击他就可以修改口令 // /p 每当选中显示属性对话框中屏幕保护程序标签时,在对话框显示预览效果 // /c 在显示属性对话框中单击他进行设置 // /s 在显示属性对话框中单击预览按钮或系统掉用屏保 case Tag of 4: begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end; 0,1,3: begin Application.Initialize; Application.CreateForm(TForm2, Form2); Application.Run; end; end;END; ReleaseMutex(Mutex);end.
program Scr;uses
Forms,
windows,
Sysutils,
Src_pas in 'Src_pas.pas' {Form1},
Src_pas2 in 'Src_pas2.pas' {Form2},
Src_pas3 in 'Src_pas3.pas' {Form3},
Src_pas4 in 'Src_pas4.pas' {Form4};{$R *.RES}
var
Mutex:THandle;
Tag:integer;begin
Mutex:=CreateMutex(NIL,True,'SingleApp');
IF GetLastError<>ERROR_ALREADY_EXISTS THEN//如果不存在另一实例
BEGIN
Tag:=0;
if LowerCase(ParamStr(1))='/a' then
Tag:=1
else if LowerCase(ParamStr(1))='/p' then
Tag:=2
else if LowerCase(ParamStr(1))='/c' then
Tag:=3
else if LowerCase(ParamStr(1))='/s' then
Tag:=4;
// /a 在显示属性对话框中单击他就可以修改口令
// /p 每当选中显示属性对话框中屏幕保护程序标签时,在对话框显示预览效果
// /c 在显示属性对话框中单击他进行设置
// /s 在显示属性对话框中单击预览按钮或系统掉用屏保
case Tag of
4:
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end; 0,1,3:
begin
Application.Initialize;
Application.CreateForm(TForm2, Form2);
Application.Run;
end; end;END;
ReleaseMutex(Mutex);end.