WINDOWS启动运行SCREENSAVE的秘密在哪里?它就在于参数。WINDOWS可让SCREENSAVE带三种 不同的参数运行:/S、/C、/P。其中/S参数通知SCR运行于屏幕保护状态;/C(在 WIN98则以/C:XXXX参数)和/P参数分别运行于设置与预览方式。打开“显示器属 性”,选中“屏幕保护程序”页面后,只要已选中一个SCR,Windows95都会不断 以SCRFileName/PXXXXX启动该屏保程序,XXXXX就是页面上计算机“显示器”窗体 的句柄(处在/P参数的运行,可由这个窗体句柄取得DC,这里就不再叙述了)。 如果选中[设置(T)...]或[预览(V)]按钮,Windows会先中断已运行的SCR(如果有 以/P参数运行的SCR的话),再以/C或/P参数,启动选中的SCR。如果选中了一个 SCR,按右键,出现快捷菜单,其中有“测试(E)”、“配置(O)”、?安装(I)”等 项:它们分别以/C参数、无参数、/P参数运行SCR。需注意的是,这里的“配置” 就是“设置”,奇怪的是,却没有任何参数。----在DELPHI中,ParamCount函数可取得命令行参数个数,ParamStr(Index:Integer) 则返回命令行中相应参数字符串,其中ParamStr(0)为程序名,ParamStr(1)中的存 放有WINDOWS启动SCR的第一个参数。了解这些可以帮助我们根据不同的参数设置运 行时的主窗体。假定某SCR有二个窗体,与预览、设置二种运行方式相对应,其窗体 名分别为FormA,FormB,则编写Project程序如下: if (Paramcount >0) then begin para1 := Copy(UpperCase(ParamStr(1)),1,2); if para1=`/S` then begin //预览代碼 end; if para1=`/C` then begin //设置代碼 end; end else begin //设置代碼 end;
不同的参数运行:/S、/C、/P。其中/S参数通知SCR运行于屏幕保护状态;/C(在
WIN98则以/C:XXXX参数)和/P参数分别运行于设置与预览方式。打开“显示器属
性”,选中“屏幕保护程序”页面后,只要已选中一个SCR,Windows95都会不断
以SCRFileName/PXXXXX启动该屏保程序,XXXXX就是页面上计算机“显示器”窗体
的句柄(处在/P参数的运行,可由这个窗体句柄取得DC,这里就不再叙述了)。
如果选中[设置(T)...]或[预览(V)]按钮,Windows会先中断已运行的SCR(如果有
以/P参数运行的SCR的话),再以/C或/P参数,启动选中的SCR。如果选中了一个
SCR,按右键,出现快捷菜单,其中有“测试(E)”、“配置(O)”、?安装(I)”等
项:它们分别以/C参数、无参数、/P参数运行SCR。需注意的是,这里的“配置”
就是“设置”,奇怪的是,却没有任何参数。----在DELPHI中,ParamCount函数可取得命令行参数个数,ParamStr(Index:Integer)
则返回命令行中相应参数字符串,其中ParamStr(0)为程序名,ParamStr(1)中的存
放有WINDOWS启动SCR的第一个参数。了解这些可以帮助我们根据不同的参数设置运
行时的主窗体。假定某SCR有二个窗体,与预览、设置二种运行方式相对应,其窗体
名分别为FormA,FormB,则编写Project程序如下:
if (Paramcount >0) then
begin
para1 := Copy(UpperCase(ParamStr(1)),1,2);
if para1=`/S` then
begin
//预览代碼
end;
if para1=`/C` then
begin
//设置代碼
end;
end else begin
//设置代碼
end;