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

[AU3基础] 求教:如何判断“开始菜单”是否处于打开状态?

[复制链接]
发表于 2021-10-25 10:04:10 | 显示全部楼层 |阅读模式
各位高手:        如何判断Windows的“开始菜单”是否打开?
        如果打开了,如何将“开始菜单”关闭?

        本人小白,请各位高手不吝赐教,多谢!
发表于 2021-10-25 10:40:17 | 显示全部楼层
win7

If WinExists('[class:DV2ControlHost]') Then WinClose('[class:DV2ControlHost]')

 楼主| 发表于 2021-10-25 15:32:00 | 显示全部楼层
zghwelcome,您提供了很好的思路。

我在Windows10上试验,开始菜单的Class变成了Windows.UI.Core.CoreWindow,并且这个永恒存在,也就是无法用WinExists判断开始菜单是否打开,也无法用WinClose关闭开始菜单。

请问,各位高人还有其他方法吗?
发表于 2021-10-25 16:55:11 | 显示全部楼层
evilwz 发表于 2021-10-25 15:32
zghwelcome,您提供了很好的思路。

我在Windows10上试验,开始菜单的Class变成了Windows.UI.Core.CoreWi ...

那就获取其位置坐标尺寸大小,或者其显隐状态来判断,总有一款适合你~
发表于 2021-10-25 17:03:12 | 显示全部楼层

怎么获取到的?
发表于 2021-10-25 17:09:42 | 显示全部楼层

Au3Info 就行  
发表于 2021-10-25 17:12:43 | 显示全部楼层

点击按钮的时候,开始菜单就隐藏了啊
发表于 2021-10-25 21:47:59 | 显示全部楼层
win10

#include <WinAPI.au3>
Local $hWnd = _WinAPI_FindWindow('Windows.UI.Core.CoreWindow','开始')
If Not @error Then WinClose($hWnd)


 楼主| 发表于 2021-10-26 14:35:16 | 显示全部楼层
        非常感谢zghwelcome高手提供的帮助!
        我浏览了https://www.autoitscript.com/for ... dows-10-start-menu/,发现窗口 [Class:Shell_TrayWnd] 能够判断开始菜单的有无状况,但为反向判断,即当[Class:Shell_TrayWnd]窗口出现时,开始菜单隐藏;反之,当 [Class:Shell_TrayWnd]窗口不见时,开始菜单弹出。
        另外,我的机器上,是_WinAPI_FindWindow('Windows.UI.Core.CoreWindow','启动')。

        最后,我用了下面的代码实现:

        #include <WinAPISysWin.au3>
        WinWaitClose("[Class:Shell_TrayWnd]")
        Local $hWnd = _WinAPI_FindWindow("Windows.UI.Core.CoreWindow","启动")
        If Not @error Then WinClose($hWnd)
发表于 2021-10-26 20:45:37 | 显示全部楼层
haijie1223 发表于 2021-10-25 17:12
点击按钮的时候,开始菜单就隐藏了啊

inspect.exe可以查到,之前我也试了,和3楼说的一样是永恒存在的,然后就不知道怎么弄了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-26 14:47 , Processed in 0.072368 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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