运行 C# 应用启动?

Run C# app on 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 启动的最佳方法是什么,它可以与 windows 32/64 位一起工作,而不会中断任何用户许可?

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

How do I set a program to launch at startup

听起来您可能 运行 与 Windows 的文件阻止安全功能相冲突。在另一台计算机上创建的应用程序将被自动阻止执行,除非用户特别 "unblocks" 该文件。让你的女朋友右键单击可执行文件,select "Properties" 并查看对话框底部是否有一个按钮来取消阻止文件。

解锁后,您应该不会再在启动时看到确认提示。