找回密码
 加入
搜索
查看: 2110|回复: 9

[AU3基础] 【已解决】关于如何检测桌面explorer加载完成

[复制链接]
发表于 2020-5-31 11:14:18 | 显示全部楼层 |阅读模式
本帖最后由 anythinging 于 2020-6-4 09:08 编辑

我写了个小程序,需要在进入桌面加载完成后运行(大致是explorer.exe运行完成)。现在用的运行explorer.exe后延迟 N秒来解决,有点低级。

想请教如何检测桌面加载完成?感谢!
 楼主| 发表于 2020-5-31 11:27:44 | 显示全部楼层
如果开机使用shellexecwait运行explorer.exe实现加载桌面的话,必需要等到explorer.exe进程结束才能继续往下运行。无法实现预期
发表于 2020-5-31 12:45:29 | 显示全部楼层
桌面就是一个explorer程序窗口,explorer不是会在系统启动时自动运行吗?还要手动去执行?直接检测该进程存在不就是了
 楼主| 发表于 2020-5-31 13:07:27 | 显示全部楼层
本帖最后由 anythinging 于 2020-5-31 13:09 编辑

感谢回复,explorer.exe运行时,会加载一系列设置,比如第一次进系统时。我想在加载完成后再运行我的程序
我有个想法,可能需要了解explorer会先后加载哪些进程程序之类的,再检测explorer最后加载的程序是否存在。

现在愁没有这方面的资料
发表于 2020-5-31 13:15:32 | 显示全部楼层
anythinging 发表于 2020-5-31 13:07
感谢回复,explorer.exe运行时,会加载一系列设置,比如第一次进系统时。我想在加载完成后再运行我的程序
...

我懂你的意思,我上面的回复仅是针对手动执行explorer的问题。
至于桌面完成可能不容易确定,因为可能会有第三程序参与而造成不确定性。
你或许应该根据你自身需要获取的组件信息来判断。比如桌面列表控件已出现、托盘控件已出现等等。
发表于 2020-6-1 14:18:38 | 显示全部楼层
你是第一次进系统的时候运行是吧,首次进入桌面运行的功能。
 楼主| 发表于 2020-6-1 17:59:13 | 显示全部楼层
862228699 发表于 2020-6-1 14:18
你是第一次进系统的时候运行是吧,首次进入桌面运行的功能。

是的,主要是这个。感谢回复
发表于 2020-6-2 18:17:47 | 显示全部楼层
搞出来没有。
发表于 2020-6-2 18:50:05 | 显示全部楼层
WinWaitActive('[CLASS:Shell_TrayWnd]', ''),从官网帖子扒下来的
https://www.autoitscript.com/for ... nts#comment-1321212

点评

管用!感谢!  发表于 2020-6-4 09:07

评分

参与人数 1金钱 +30 收起 理由
anythinging + 30 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-25 13:39 , Processed in 0.085024 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表