我目前在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有什么不同吗?是否有任何新方法?
答案 0 :(得分:0)
将链接或批处理文件添加到:
c:\ Users \(用户名)\ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup
您可以在代码中用c:\Users\ (username) \AppData\Roaming
替换"%AppData%"
Environment.GetEnvironmentVariable("AppData");
答案 1 :(得分:0)
将快捷方式放入: c:\ Users \ {登录名} \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup 应在您登录时运行该应用程序。
您可以选择创建任务。您可以在触发器中选择是在登录时还是在计算机启动时运行。
" Task Scheduler Managed Wrapper"是一个有用的库,用于以编程方式创建任务。