重启后如何自动运行应用程序?(通过 c# 代码)我在注册表中的“runOnce”键中创建了一个新字符串,其中包含应用程序的路径。操作系统在加载操作系统之前运行此应用程序我的问题是:我的应用程序加载但资源管理器未加载,在我关闭我的应用程序后,资源管理器加载我在应用程序中重新启动计算机,重新启动后我希望我的应用程序重新打开
问问题
11682 次
3 回答
10
当您从您的应用程序单击重新启动时,对注册表进行以下修改:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
在注册表分支中创建一个条目。
采用
Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\YourAppName");
创建一个条目。
和
RegistryKey myKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\YourAppName", true);
myKey.SetValue("YourAppName", "AppExecutablePath", RegistryValueKind.String);
设置运行路径。
系统重新启动后,您的应用程序将启动并通过调用以下命令删除重新启动条目:
Registry.LocalMachine.DeleteSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\YourAppName");
于 2011-09-20T10:06:00.873 回答
4
似乎您最好的选择是将您的程序添加到 RunOnce,而不是 Run。这样它将在下次重新启动后启动,但您不必担心之后擦除密钥。
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
于 2012-09-05T06:58:05.630 回答
2
这是一个更好的答案,因为您不应该创建子密钥。这也会自动处理。
string runKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(runKey, true))
{
key.SetValue("MyProgram", @"C:\MyProgram.exe");
}
于 2014-09-10T00:32:23.203 回答