在启动时运行C#app?

时间:2015-02-27 03:16:27

标签: c# permissions startup

我创建了一个简单的天气应用程序,我添加了下面的代码,让用户让它在Startup上运行:

RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (startupCheck.Checked) {
  rk.SetValue("WeTile", "\"" + Application.ExecutablePath.ToString() + "\"");
} else {
  rk.DeleteValue("WeTile", false);
}

现在这在我的两台计算机上运行良好。但是,当我把应用程序交给我的女朋友。她说应用程序不能在Windows启动时运行。我在网上看到它可能是因为用户权限或位置所以我告诉她将应用程序移动到c:/并尝试再次检查该框然后重新启动。现在它可以工作但是在每次启动时她都有默认的Windows消息,说你要运行这个应用程序吗?

我如何摆脱这个?在没有任何用户权限中断的情况下,添加到Windows 32/64位的Windows启动的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

听起来你可能违反了Windows的文件阻止安全功能。除非用户明确“解锁”文件,否则将自动阻止在另一台计算机上创建的应用程序执行。让您的女朋友右键单击可执行文件,选择“属性”,然后查看对话框底部是否有按钮以取消阻止该文件。

File properties dialog box showing 'unblock' button

取消阻止后,您不应再在启动时看到确认提示。

答案 1 :(得分:0)

您可以将其添加到Windows启动文件夹,检查它是否已经存在,如果没有,请添加它(假设这是用户想要的)。

请参阅How do I set a program to launch at startup