在 Windows 启动时启动窗口

本文关键字:启动 窗口 Windows | 更新日期: 2023-09-27 18:37:21

我希望我的应用程序(WPF Window)在Windows启动时启动。我尝试了不同的解决方案,但似乎没有人有效。我必须在代码中写什么才能做到这一点?

在 Windows 启动时启动窗口

当你说你必须向注册表添加一个项时,你是对的。

将密钥添加到:

HKEY_CURRENT_USER'SOFTWARE'Microsoft'Windows'CurrentVersion'Run

如果要为当前用户启动应用程序。

或:

HKEY_LOCAL_MACHINE'SOFTWARE'Microsoft'Windows'CurrentVersion'Run 

如果要为所有用户启动它。

例如,为当前用户启动应用程序:

var path = @"SOFTWARE'Microsoft'Windows'CurrentVersion'Run";
RegistryKey key = Registry.CurrentUser.OpenSubKey(path, true);
key.SetValue("MyApplication", Application.ExecutablePath.ToString());

只需将第二行替换为

RegistryKey key = Registry.LocalMachine.OpenSubKey(path, true);

如果要在 Windows 启动时自动为所有用户启动应用程序。

如果您不想再自动启动应用程序,只需删除注册表值即可。

因此:

var path = @"SOFTWARE'Microsoft'Windows'CurrentVersion'Run";
RegistryKey key = Registry.CurrentUser.OpenSubKey(path, true);
key.DeleteValue("MyApplication", false);

此示例代码已针对 WinForms 应用进行了测试。如果需要确定 WPF 应用的可执行文件的路径,请尝试以下操作。

string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

只需将"Application.ExecutablePath.ToString()"替换为可执行文件的路径即可。