程序从windows开始?C#

Alo*_*n M 1 c# winforms

所以,

我已经发布了一个刚开一个新程序的winforms.

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

Process a;

Process a = Process.Start("notepad.exe");
Run Code Online (Sandbox Code Playgroud)

但.

我需要知道如何对程序启动Windows启动.像skype一样,或任何其他程序.

所以.

  1. 我买了一个winforms应用程序.
  2. 我做了一个开始的过程.
  3. 现在我需要帮助,这样程序将与窗口strat.

唯一重要的是,该程序将允许我选择我希望她从Windows开始或不.所以,如果有人给我功能,请给我开关功能.谢谢你!

Chr*_*ers 12

如果要在Windows启动时自动启动应用程序,则必须在Windows注册表中注册它.

您需要向以下注册表项添加新值:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Run Code Online (Sandbox Code Playgroud)

这将启动当前用户的应用程序

或关键

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
Run Code Online (Sandbox Code Playgroud)

它为所有用户启动应用程序

以下示例将为当前用户启动应用程序:

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

只需用第二行替换第二行

RegistryKey key = Registry.LocalMachine.OpenSubKey(path, true);
Run Code Online (Sandbox Code Playgroud)

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

如果要禁用此选项以便应用程序不会自动启动,只需删除注册表值即可.

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