5

我想在我的应用程序中添加一个选项,类似于 Skype 的选项“在我的计算机启动时运行 Skype”。

Skype 没有在开始菜单文件夹的“自动启动应用程序”上,我想有同样的效果。

请注意,此问题的一个答案建议在此处添加一个键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

但我在我的机器上检查了,Skype 不在那里,所以使用了另一种方法。

4

4 回答 4

11

Skype 通过注册表项安装,但它位于 HKEY_CURRENT_USER 中,而不是 HKEY_LOCAL_MACHINE

这允许基于每个用户安装或不安装 Skype。使用 HKLM 将为所有用户自动启动。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
于 2010-07-02T09:58:58.470 回答
3

如果您在运行窗口中键入“msconfig”并查看启动选项卡,您可以在“位置”列中看到“everthing”从哪里开始。我不使用Skype,但我猜它会在注册表中

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

您只需要在其中为您的应用程序添加一个注册表项(如果用户取消选中该框,则将其删除)

您可以使用TRegistry该类来帮助您读取和写入注册表。

于 2010-07-02T09:52:09.473 回答
1

看到这个问题。问题是关于 C#,但它只涉及编写注册表值。将其转换为 Delphi 将很容易。

于 2010-07-02T09:49:07.733 回答
0

只需运行 msconfig 并选择启动选项卡。您将在使用的注册表项旁边看到应用程序。

奇怪的是,当我在没有提升的情况下运行 regedit 时,也看不到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\Skype的值。但是如果我提升运行它,那么值就在那里(我猜 Windows 正在播放注册表重定向)。

最好的

于 2010-07-02T11:05:03.053 回答