我想在我的应用程序中添加一个选项,类似于Skype的选项“在我的计算机启动时运行Skype”。
Skype没有进入开始菜单文件夹的“自动启动应用程序”,我希望具有相同的效果。
注意,this question的一个答案是在这里添加密钥:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
但是我在我的机器上checekd并且Skype不存在,所以使用另一种方式。
答案 0 :(得分:11)
Skype通过注册表项安装,但它位于HKEY_CURRENT_USER,而不是HKEY_LOCAL_MACHINE
这允许基于每个用户安装或不安装Skype。使用HKLM将自动启动所有用户。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
答案 1 :(得分:3)
如果在运行窗口中键入“msconfig”并查看启动选项卡,则可以在“位置”列中查看“everthing”的起始位置。 我不使用Skype,但我猜它会在注册表中
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
您只需在其中为您的应用添加注册表项(如果用户取消选中框,则将其删除)
您可以使用TRegistry
类来帮助您阅读和写入注册表。
答案 2 :(得分:1)
见question。问题是关于C#,但它只涉及编写注册表值。将它转换为Delphi很容易。
答案 3 :(得分:0)
只需运行msconfig并选择启动标签。您将看到使用的注册表项旁边的应用程序。
奇怪的是,当我在没有提升的情况下运行regedit时,也看不到值 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ Skype 。但是,如果我将其运行升级,那么值就在那里(我猜Windows正在播放注册表重定向)。
最佳