我实现了一个WPF应用程序并将其注册为在Windows启动时启动。我的应用程序是一个简单的登录应用程序,当用户登录时出现在图标托盘中。问题是在Windows启动后显示自己需要大约30秒。我试过Ngen没有取得很大的成功。我想避免实现启动画面。我希望我的WPF应用程序在Windows启动后“立即”出现,类似于Windows Live Messenger。我能做些什么来减少它的启动时间?除了本地编码之外,我还有其他选择吗? 感谢。
答案 0 :(得分:2)
计算机空闲时是否还需要30秒才能启动(例如,如果您在计算机未忙于加载窗口时双击启动它)?
在Windows启动期间,计算机通常忙于处理大量内容,这可能会导致应用程序运行缓慢。那时你无能为力。
但是,一些改进WPF应用程序启动的一般提示:
BackgroundWorker
或使用异步调用来执行I / O和网络请求还有一个设置可放在app.config
中,告诉运行时不要使用证书对程序集进行身份验证(此检查可能需要很长时间,尤其是冷启动):
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
Application Startup Time上的MSDN网站上提供了一些更一般的提示。
答案 1 :(得分:0)
也许this site会对您有所帮助。它列出了以前启动应用程序(如果是服务)或Windows登录后的一些选项。它们涉及一些注册表黑客攻击,您需要在卸载期间撤消它们。
答案 2 :(得分:0)
答案 3 :(得分:0)
使用regedit,在
的注册表中创建 DWORDHKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \ Explorer中\序列化
名为 StartupDelayInMSec 。
默认值应设置为0,但要仔细检查。
启动后,我的应用程序启动时间缩短约10秒。
注意:Serialize Key可能不存在 您可以通过右键单击 Explorer 并选择 New - &gt;来创建它。键