首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows登录完成后运行一些东西?

如何在Windows登录完成后运行一些东西?
EN

Stack Overflow用户
提问于 2012-04-02 04:36:48
回答 1查看 2.4K关注 0票数 3

我有一个系统服务运行在我的Windows机器上,它可以模拟当前登录的用户并代表他们启动应用程序(包括UI应用程序)。

当用户已经登录到他们的交互式会话、创建了他们的桌面等等时,它工作得很好。

服务的启动是自动的,因此它会在每次重新启动后自动启动。如果它试图在服务启动后立即运行某些程序(需要UI访问),该程序可能会失败-可能是因为自动登录进程仍在进行中,桌面尚未创建等。

问题是:如果服务“提前”启动,它如何等待交互会话完全初始化(除了等待一些任意时间,这不是最优的)?

或者,服务可以“延迟”启动吗?是否有注册表项、文件夹或其他东西可以用来将服务启动延迟到Shell准备就绪并且可以安全启动UI应用程序的那一刻?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-02 04:43:19

“在用户登录时执行一些代码”最简单的两种方法是编写一个.bat文件,并且:

1)将.bat文件放入启动文件夹<=注意:Windows7/Vista有一个新的“启动文件夹”位置

..。或者..。

2)创建一个在登录时调用.bat文件的新任务

I选项"2)“给你更好的控制。如果需要,它还允许.bat文件“以管理员身份运行”。

如果你想让ping文件暂停一下(例如,为了确保事情完全初始化),你可以在你的.bat文件中添加“.bat -w”。

示例:

代码语言:javascript
复制
@rem Waits 5 seconds before continuing
ping 1.1.1.1 -n 1 -w 5000 > nul
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9968099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档