📅  最后修改于: 2023-12-03 15:35:42.325000             🧑  作者: Mango
在 Windows 操作系统中,我们可以将某些应用程序在启动时自动启动。本文将介绍如何在 Windows 启动时启动 WPF 应用程序。
打开 WPF 应用程序的项目,右键项目文件,选择“属性”,进入“应用程序”选项卡。
在“启动对象”下拉框中选择“窗体”,并选择您希望在 Windows 启动时自动启动的窗体。
打开“程序.cs”文件,在 Main 函数中添加以下代码:
var appName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
var runKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
if (runKey.GetValue(appName) == null)
{
runKey.SetValue(appName, Application.ExecutablePath.ToString());
}
这段代码的作用是将当前应用程序的可执行文件路径添加到 Windows 注册表的自动启动项中。
在添加完注册表项后,我们可以通过以下代码获取当前应用程序是否已设置为 Windows 启动项:
var appName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
var runKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
var hasKey = runKey.GetValue(appName) != null;
当需要取消开机启动时,我们可以在应用程序的设置或者选项中添加一个选项卡,然后在用户单击“取消开机启动”按钮时,执行以下代码:
var appName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
var runKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
runKey.DeleteValue(appName, false);
通过本文的介绍,我们了解了如何在 Windows 启动时启动 WPF 应用程序,并且提供了注册表项的添加、查询、删除等功能的示例代码。希望这篇文章对大家有所帮助!