Windows启动时的应用程序

Application on windows startup(Windows启动时的应用程序)
本文介绍了Windows启动时的应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望在Windows用户登录之后、Windows桌面出现之前加载我的C#应用程序。目前,我将我的应用程序启动路径添加到注册表运行项中。它正确加载我的应用程序,但Windows Windows桌面出现[2秒],然后我的应用程序运行

注意:

我的应用程序使用winapi创建单独的桌面,而运行它的应用程序会暂时隐藏桌面。

推荐答案

这确实是不可能的。Windows非常努力地在用户登录后立即启动桌面和资源管理器。这对用户来说是最重要的。

您的目标可能是高尚的,但它们与用户想要的不一致。因此,总的来说,它们与Windows的工作方式不一致(尤其是Win-7)。

如果您的软件需要提早运行,并且不需要与用户交互,那么服务就是他们的选择。值得注意的是,在Vista和更高版本的Windows系统中,服务无法与用户交互--例如,它们不能拥有自己的图形用户界面。带有UI的服务本质上是不安全的。

对软件进行分区的一种方法是将一些东西放在服务中,并在其上面放置一个Think UI层。COM和Local RPC是在服务和UI层之间进行通信的很好的选择。

请注意,您需要在此处进行操作,以防止组件减慢引导速度。表现不佳的应用程序是引导路径中最大的问题之一。您可以使用Windows Performance Toolkit

来学习

这篇关于Windows启动时的应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)