for i := 1 to ParamCount do begin if ParamStr(i) = '' then Continue; TmpStr := Copy(ParamStr(i),1,1); if TmpStr = '/' then begin TmpStr1 := TmpStr + UpperCase(Copy(ParamStr(i),2,1)); TmpStr2 := Trim(Copy(ParamStr(i),3,Length(ParamStr(i))-2)); if TmpStr2 <> '' then begin if TmpStr1 = '/N' then ReSourceName := TmpStr2; {资源名} if TmpStr1 = '/P' then ReSPreFixName := TmpStr2; {资源前缀} if TmpStr1 = '/F' then LFilter := TmpStr2; {资源文件过滤} if TmpStr1 = '/T' then ResType := TmpStr2; {资源类型} end; end; end;
呵呵,好玩 procedure TForm1.FormCreate(Sender: TObject); begin if ParamCount>0 then begin if ParamStr(1)='-a' then begin Application.Terminate; Exit; end; end; end;
if ParamStr(i) = '' then Continue;
TmpStr := Copy(ParamStr(i),1,1);
if TmpStr = '/' then begin
TmpStr1 := TmpStr + UpperCase(Copy(ParamStr(i),2,1));
TmpStr2 := Trim(Copy(ParamStr(i),3,Length(ParamStr(i))-2));
if TmpStr2 <> '' then begin
if TmpStr1 = '/N' then ReSourceName := TmpStr2; {资源名}
if TmpStr1 = '/P' then ReSPreFixName := TmpStr2; {资源前缀}
if TmpStr1 = '/F' then LFilter := TmpStr2; {资源文件过滤}
if TmpStr1 = '/T' then ResType := TmpStr2; {资源类型}
end;
end;
end;
MakeRc.exe /n资源名 /p资源前缀 /f资源文件过滤 /t资源类型
begin
if ParamStr(1)='/s' then Close;
end ;
如:ParamStr(0) 就是程序的文件名
ParamStr(1) 就是/s
procedure TForm1.FormCreate(Sender: TObject);
begin
if ParamCount>0 then
begin
if ParamStr(1)='-a' then
begin
Application.Terminate;
Exit;
end;
end;
end;
比如说执行一定时间后退出程序:
放个Timer,先设为Enabled=false,在Form Create时,如果是指定的参数,就设置Timer的执行间隔时间值,然后设Enabled=true;在Timer的执行事件里写好程序的退出语句。
以上仅是一个思路,供参考~~~
我是说我只会另外写个在进程里直接删除的程序来解决,显得很白痴
主菜单--〉Run-->Paramters 在Paramters填写,其它空白
打开记事本,保存到Exe文件的目录,后缀名改为Bat,文件内容为:ExeFilename /参数