我有一个程序,安装后加在了注册表的...\microsoft\windows\run里了,也就是会一开机
就运行(当然,用户也可以选择不让它开机就启动,如果他愿意)
但是它也应当允许用户自己通过双击图标的方式打开。我想让程序可以判断,它自己是怎么被运行的:是自动运行的?还是用户自己打开的谢谢!!
就运行(当然,用户也可以选择不让它开机就启动,如果他愿意)
但是它也应当允许用户自己通过双击图标的方式打开。我想让程序可以判断,它自己是怎么被运行的:是自动运行的?还是用户自己打开的谢谢!!
解决方案 »
- 操作注册表,实在不懂,帮我改一下下面的参数。通过程序去掉《对该区域中所有站点要求服务器验证(https://)》
- 代码表只有两列数据,如何生成树(Treeview)?
- 如何如何分割*.CSV文件?
- 求教 初级问题
- 关于Listview一个简单的问题?
- 急,30分奉送,
- 请教关于DELPHI中Frame窗体的用法
- 启动/停止"拨号上网"
- 还是dbcombobox的问题?
- 已创建控件,但控件太多,所以要把控件的名字(当字符串)存入数据库,再调入名字(当组件对象使用). 我如何做'字符串'转化-->'组件'??
- 用MaskEdit怎样控制只能输入数字,且框内不出现线?
- delphi里自带的InstallShield在哪里呀?帮忙指引一下!
自己点击运行的就是没参数的,
程序就知道怎么启动的了。带-s他就不会关闭。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
MyRun="E:\Tools\TextView.exe" "E:\Tools\Readme.txt"
判断时用ParamCount和ParamStr.
如果要查找是否有指定参数时用FindCmdLineSwitch。
如:FindCmdLineSwitch('nosplash',['-','\','/'], True)
Forms,
Sysutils,
Registry,
windows,
Unit_xxxx in 'Unit_xxxx.pas' {Frm_update};{$R *.RES}begin
Application.Initialize;
{参数:r 添加注册表项} case ParamCount of
0:
begin
Application.CreateForm(TFrm_xxxx, Frm_xxxx);
end;
1:
begin
if lowercase(paramstr(1)) = 'r' then
begin
with TRegistry.Create do
begin
RootKey := HKEY_LOCAL_MACHINE;
CloseKey;
OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true);
WriteString('xxxx', application.ExeName);
Free;
end;
end;
end;
end;
Application.Run;end.