如何在重启后自动运行应用程序?

发布于 2024-12-05 06:15:22 字数 164 浏览 2 评论 0原文

如何在重启后自动运行应用程序? (通过 C# 代码)我使用应用程序的路径在注册表中的“runOnce”键中创建一个新字符串。 操作系统在加载操作系统之前运行此应用程序 我的问题是:我的应用程序加载但资源管理器不加载,在我关闭应用程序后,资源管理器加载 我在APP中重新启动计算机,重新启动后我希望我的APP重新打开

how can I run an app automatic after restart?
(by c# code) I create A new string in 'runOnce' key in registry with the path of the App.
the OS run this APP before it load the OS
my problem is: My APP loads but explorer doesn't load, after I close my APP, explorer loads
I restart the computer in APP, and after restart I want that my APP reopen

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉城 2024-12-12 06:15:22

当您从应用程序中单击重新启动时,请对注册表进行以下修改:

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");

When you click restart from your app, make the following modifications to the registry:

Create an entry in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run registry branch.

Use

Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\YourAppName");

to create an entry.

And

RegistryKey myKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\YourAppName", true);

myKey.SetValue("YourAppName", "AppExecutablePath", RegistryValueKind.String);

to set the run path.

After the system has restarted, your app starts and removes the restart entry by calling this:

Registry.LocalMachine.DeleteSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\YourAppName");
淡莣 2024-12-12 06:15:22

看来您最好的选择是将程序添加到 RunOnce,而不是 Run。这样,它将在下次重新启动后启动,但您不必担心之后会删除密钥。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

It seems like your best bet would be to add your program to RunOnce, instead of Run. That way it will be started after the next reboot, but you won't have to worry about erasing the key afterwards.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
梦在深巷 2024-12-12 06:15:22

这是一个更好的答案,因为您不应该创建子密钥。这也会自动处理。

string runKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";

using (RegistryKey key = Registry.LocalMachine.OpenSubKey(runKey, true))
{
    key.SetValue("MyProgram", @"C:\MyProgram.exe");
}

This is a better answer as you should not create a SubKey. Also this will automatically dispose.

string runKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";

using (RegistryKey key = Registry.LocalMachine.OpenSubKey(runKey, true))
{
    key.SetValue("MyProgram", @"C:\MyProgram.exe");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文