在Window启动时,C#Winform应用程序无法运行

时间:2015-03-29 04:05:09

标签: c# winforms

大家 我的申请有问题。我做了一个事件,当我勾选一个复选框时,它将在Window启动时运行,我将此设置保存在XML文件中。但它不起作用,Window向我显示消息错误"停止工作"。有谁知道我做错了什么?我试着解决它,但它仍然存在。非常感谢。这是我的代码:

private RegistryKey registrykeyApp = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
private void checkBoxKhoidongcungwin_CheckedChanged(object sender, EventArgs e)
    {
        if (this.checkBoxKhoidongcungwin.Checked)
        {
            if(this.registrykeyApp.GetValue("ViKey") == null)
                this.registrykeyApp.SetValue("ViKey", Application.ExecutablePath.ToString(),RegistryValueKind.ExpandString);

        }
        else
        {
            this.registrykeyApp.DeleteValue("ViKey", false);

        }
    }

1 个答案:

答案 0 :(得分:0)

无法从未使用提升权限运行的应用程序访问该注册表项,因为病毒等可能会使用它来劫持计算机。不幸的是,当访问被拒绝时,您经常会得到不明显的一般性错误。

右键单击您的exe并以管理员身份运行它应该可以正常工作。如果是这样,您可以向项目添加应用程序清单,以便始终自动请求提升的权限,而无需手动右键单击。

http://www.samlogic.net/articles/manifest.htm