程序从windows开始? C#

时间:2011-09-15 07:37:41

标签: c# winforms

所以,

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

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

Process a;

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

BUT。

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

所以

  1. 我发了一个winforms app。
  2. 我做了一个开始过程。
  3. 现在我需要帮助,这个程序将与windows进行协商。
  4. 唯一重要的是,该程序将允许我选择我希望她从Windows开始。所以,如果有人给我功能,请给我开关功能。感谢分配!

2 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:0)

由于您要求运行NOTEPAD.EXE,您可以直接将其图标放入启动窗口文件夹中。