我可以当用户登录时(例如,通过将其添加到注册表)我UWP应用程序自动运行?

问题描述 投票:0回答:2

我有一个Windows应用商店的桌面应用程式与我尝试写入,以便以下模式注册表有我的应用程序自动启动,每当用户登录:

// The path to the key where Windows looks for startup applications
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
// Add the value in the registry so that the application runs at startup
rkApp.SetValue("MyApp", Application.ExecutablePath.ToString());

这正好不向用户显示任何错误。关键是没有写入到注册表中。我通过侧面加载包进行测试。如果我与应用程序的实际的可执行测试它的工作原理确定。

任何提示?

注:使用桌面桥技术的桌面应用程序不会转换为UWP。它被出版了fullTrust能力。

编辑:正如下面的状态接受的答案 - 这个特定问题的解决方案 - 让Windows上运行的应用程序启动是创建启动任务。对于这方面的例子可以在这里找到:

https://github.com/qmatteoq/DesktopBridge/tree/master/Extras/StartupTask

c# uwp windows-store-apps windows-store desktop-bridge
2个回答
4
投票

如果我理解你正在写的钥匙,你真正想要的是在启动时启动应用程序的方式。您可以通过添加对windows.StartupTask扩展支持这样做的UWP应用程序和桌面应用程序桥。

请访问以下链接:


3
投票

这是由设计,打包的应用程序。写操作不会转到全局注册表,但当地的一个特定于应用程序和用户。

如果你读操作,你写你的注册表后,你将得到正确的值,但其他应用/系统中的进程将不会看到你对注册表的更改。

这样做的细节记录在这里:https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-behind-the-scenes#registry

© www.soinside.com 2019 - 2024. All rights reserved.