Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将C程序配置为在首次启动操作系统时运行?_C#_.net_Winforms - Fatal编程技术网

C# 如何将C程序配置为在首次启动操作系统时运行?

C# 如何将C程序配置为在首次启动操作系统时运行?,c#,.net,winforms,C#,.net,Winforms,如何将C程序配置为在首次启动操作系统时运行?只需将程序添加到“开始”菜单中的“启动”文件夹中。添加到注册表中即可 private void AddToRegistry() { RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); regKey.SetValue(Appl

如何将C程序配置为在首次启动操作系统时运行?

只需将程序添加到“开始”菜单中的“启动”文件夹中。

添加到注册表中即可

private void AddToRegistry()
        {
            RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
            regKey.SetValue(Application.ProductName, Application.ExecutablePath);
        }

最简单的答案是将其添加到“开始”菜单中的“启动”文件夹中。据我所知,简单地把它放进去应该足够了,因为它只是一个小exe。

如果你想在用户登录时运行程序,那么启动文件夹或运行注册表项方法都可以


如果您希望在计算机打开ie Windows启动时运行该程序,而无需等待用户登录,则需要将其安装为,并将其配置为自动启动。

我相信您必须将此C应用程序转换为Windows服务,并将其启动类型设置为自动。这似乎是大多数人使用的方法。

对于简单的C应用程序,将应用程序的.exe或其快捷方式放在start文件夹中是最简单的方法

要进一步构建它,您可以将它添加到注册表中的Software\Microsoft\Windows\CurrentVersion\下,然后添加所需的子项。有关注册表方法的更多信息,请阅读以下内容-


对于更复杂的方法,根据应用程序的不同,可能需要/可能不需要,您可以将其创建为服务,并将其设置为自动运行。对于一个简单的应用程序来说,这是不需要的,因此我将不再进一步阐述这一点。

您可以将此程序开发为Windows服务。然后,您可以将其配置为在发生故障或后续故障后重新启动,从而提高健壮性。只是一个想法…

我正在为我的安装程序使用Inno安装程序,添加以下行将实现这一点:

Name: "{commonstartup}\YourFolder"; Filename: "{app}\YourApp.exe"; IconFilename: "{app}\YourApp.ico"
同时将其添加到[设置]部分

PrivilegesRequired=admin

文档

是否会在每次执行此方法时添加它?您不应该只想执行一次吗?这不是每次执行此方法时都要添加它吗?不,regKey.SetValue将在每次执行时覆盖该值。@George,是的,它会在每次执行该方法时将该项添加到注册表中,但如果您想确保用户不删除该项,它可以是按设计的。它不创建新密钥,只需更新密钥(如果存在),并创建密钥(如果不存在)。如果您只在程序启动时运行AddToRegistry,那么就没有问题了。如果程序手动删除了密钥,一些用户可能会对程序重新创建该密钥感到愤怒,尽管感谢您的帮助,但我如何从注册表中删除该密钥?您试图构建什么?在您连续提出的3个问题中:1如何在启动时运行2如何强制以管理员身份运行3如何对用户隐藏进程。这种组合当然会引起一些危险信号。您试图解决的商业案例是什么?