【发布时间】:2015-06-23 04:16:11
【问题描述】:
我目前在 Windows 8 启动期间使我的应用程序自动运行时遇到问题。我已尝试将应用程序放入注册表。事实上,我已经尝试过本地机器和当前用户的方法:
RegistryKey rkHKLM = Registry.LocalMachine;
RegistryKey rkRun;
RegistryKey rkHKCU = Registry.CurrentUser;
RegistryKey rkRun1;
rkRun = rkHKLM.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rkRun1 = rkHKCU.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (checkBox1.Checked)
{
rkRun.SetValue("MyApp", Application.ExecutablePath);
rkRun1.SetValue("MyApp", Application.ExecutablePath);
}
else
{
rkRun.DeleteValue("MyApp");
rkRun1.DeleteValue("MyApp");
}
此方法在 Windows 8 中不起作用。但我在 Windows 7 或 XP 中没有此问题。 Windows 8 有什么不同吗?有什么新方法吗?
- 为了您的信息,我已将应用设置为以管理员身份运行,但在启动时仍不会自动运行。
【问题讨论】:
-
用 regedit 手动算出 reg 键,然后开始编码
-
你怎么知道你的程序没有运行?也许它会立即运行并崩溃,也许是因为您试图在一个对其尝试执行的操作没有足够权限的帐户下运行它。你的程序实际上是做什么的?事件日志是否给出任何失败的迹象?
标签: c# windows registry autorun