c# - 程序从windows开始? C#

标签 c# winforms

所以,

我已经构建了一个 winforms,它只是打开一个新程序。

winform 中的代码是这样的:(如果有人需要的话)

Process a;

Process a = Process.Start("notepad.exe");

但是。

我需要知道如何让程序启动 Windows 启动。就像 Skype 或任何其他程序一样。

所以。

  1. 我构建了一个 winforms 应用程序。
  2. 我做了一个启动过程。
  3. 现在我需要帮助才能使程序与 Windows 保持一致。

唯一重要的是,该程序将允许我选择是否希望她从 Windows 开始。所以,如果有人给我功能,请给我开/关功能。感谢分配!

最佳答案

如果您想在 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);

关于c# - 程序从windows开始? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7427354/

相关文章:

c# - FileStream 自动删除临时文件?

c# - LINQ 的 Enumerable.Take 方法在速度方面是否与 SQL 的 TOP 相当?

c# - 转换枚举?到整数?使用反射时失败

c# - Properties.Settings 是否被缓存?

c# - 当属性具有相同的 DisplayName 时,PropertyGrid 选择错误?

c# - 键盘记录程序崩溃

c# - 向 .NET 5.0 上的 Windows 窗体添加配置

c# - 在 Windows 窗体中托管 WPF 时出现问题 - C#

javascript - 具有动态页面数的 C# ASP.NET 服务器端轮播 slider

c# - 指向另一个指针的指针(间接级别)?