C# 应用程序在启动时未运行,Windows 10 上的启动影响"not measured"



我有一个小型的WPF应用程序。我正在尝试在Windows启动时启动它我的 C# 代码如下:

using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true))
                {
                    key.SetValue("MyApp", """ + System.Reflection.Assembly.GetExecutingAssembly().Location + """);
                    key.Close();
                }

并删除了注册表项:

using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true))
            {
                key.DeleteValue("MyApp", false);
                key.Close();
            }

我已经构建了一个可执行文件(MyApp.exe)并安装在我的计算机上。但是当 Windows 启动时,该应用程序仍然无法运行。我该怎么办?如何在任务管理器上将启动影响"未测量"更改为其他?

我使用的是 Windows 10 x64。对不起我的英语。

谢谢。

对于像我这样有问题的人,我已经解决了我的问题,这是我的应用程序需要以管理员身份运行,所以如果我按照上面编码并设置 app.manifest

<requestedExecutionLevel level = "requireAdministrator" UIAccess = "false "/>

它不会在启动窗口时运行。

为了解决这个问题,我将我的代码从CurrentUser更改为LocalMachine

 using (RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true))
            {
                key.SetValue("TechTemp", """ + System.Reflection.Assembly.GetExecutingAssembly().Location + """);
                key.Close();
            }

 using (RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true))
            {
                key.DeleteValue("TechTemp", false);
                key.Close();
            }

下一个问题是如何关闭应用程序的 UAC(如果您的计算机上启用了 UAC),您可以在此处看到。关于状态影响,即使状态在任务管理器上"未测量",应用程序仍将在窗口启动时运行。感谢拉希德·马利克和萨米

更新

您可以阅读此处以在Windows启动时运行应用程序,而无需添加注册表项,这对我有用。

相关内容

最新更新