【发布时间】:2013-02-13 22:17:35
【问题描述】:
我正在尝试让我的应用程序在 Windows 启动时自动启动并运行登录逻辑。
我已经让它在启动文件夹中使用带有参数的快捷方式工作,但我想知道是否有某种方法可以设置可以启动我的程序并像快捷方式一样传递参数的注册表项?
我正在为安装程序使用 Inno Setup,并且我正在使用这一行:
Name: "{commonstartup}\AppNameHere"; Filename: "{app}\AppNameHere.exe"; \
Parameters: "/login"`
但我希望能够使用这样的注册表项:
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; \
ValueType: string; ValueName: "AppNameHere"; ValueData: """{app}\AppNameHere.exe"""; \
Flags: uninsdeletevalue`
我认为有一些方法可以为启动指定参数,但我在 Inno Setup 网站上找不到任何东西,除了我已经从http://www.jrsoftware.org/iskb.php?startwithwindows 中找到了关于添加注册表项本身的内容
有没有人有在 Windows 启动时添加注册表项和使用参数启动应用程序的经验?
【问题讨论】:
-
只需将您的参数包含在 ValueData 中,用空格分隔 - 在属于路径的引号之后。
-
@Greg 你这么说是因为我标记了这个 C# 还是特定于 InnoSetup?上面的代码 sn-p 直接来自他们的知识库,所以我认为它应该可以正常工作..
-
@SertacAkyuz 我认为这会起作用
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "AppNameHere"; ValueData: """{app}\AppNameHere.exe"" /login"; Flags: uninsdeletevalue -
我说是因为你标记了 C#。当您调用 C# 程序集来操作注册表时,它可能很挑剔。是的,我相信这应该可行。
-
@Zack - 是的,我就是这么想的。
标签: windows registry inno-setup startup