C# can';t在操作系统启动时启动.net winapp

C# can';t在操作系统启动时启动.net winapp,c#,.net,windows,startup,C#,.net,Windows,Startup,我正在开发一个C#.NET WinApp,其中我需要在Windows操作系统启动时启动我的应用程序。通过在注册表中创建我的应用程序条目,我找到了执行此操作的代码 string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; Microsoft.Win32.RegistryKey startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey);

我正在开发一个C#.NET WinApp,其中我需要在Windows操作系统启动时启动我的应用程序。通过在注册表中创建我的应用程序条目,我找到了执行此操作的代码

string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";

Microsoft.Win32.RegistryKey startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey);
if (startupKey.GetValue("my_app") == null)
{
    startupKey.Close();
    startupKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(runKey, true);
    startupKey.SetValue("my_app", System.Windows.Forms.Application.ExecutablePath.ToString());
    startupKey.Close();
}

从上面的代码中,我成功地将我的应用程序输入注册表,但我仍然无法看到我的应用程序在windows启动时启动,即它不是在操作系统启动时启动的。

您可以始终将可执行文件放在windows启动目录中。要查找目录,请打开“开始”菜单>“所有程序”,然后右键单击“启动”。在这里,您可以选择浏览(当前用户)或浏览所有用户。当适用用户登录Windows时,此目录中的任何内容都将运行。

这将在用户登录后运行,这是您想要的吗?如果您想要在操作系统启动时运行且与任何登录用户无关的内容,听起来你应该写一个。非常感谢你的回答。但是我怎样才能通过c代码实现这一点呢?而且这也是系统和操作系统无关的。。