evilwz 发表于 2021-10-25 10:04:10

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

各位高手:      如何判断Windows的“开始菜单”是否打开?
      如果打开了,如何将“开始菜单”关闭?

      本人小白,请各位高手不吝赐教,多谢!

zghwelcome 发表于 2021-10-25 10:40:17

win7

If WinExists('') Then WinClose('')

evilwz 发表于 2021-10-25 15:32:00

zghwelcome,您提供了很好的思路。

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

请问,各位高人还有其他方法吗?

afan 发表于 2021-10-25 16:55:11

evilwz 发表于 2021-10-25 15:32
zghwelcome,您提供了很好的思路。

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

那就获取其位置坐标尺寸大小,或者其显隐状态来判断,总有一款适合你~

haijie1223 发表于 2021-10-25 17:03:12

zghwelcome 发表于 2021-10-25 10:40
win7

怎么获取到的?

zghwelcome 发表于 2021-10-25 17:09:42

haijie1223 发表于 2021-10-25 17:03
怎么获取到的?

Au3Info 就行:face (24):

haijie1223 发表于 2021-10-25 17:12:43

zghwelcome 发表于 2021-10-25 17:09
Au3Info 就行

点击按钮的时候,开始菜单就隐藏了啊

zghwelcome 发表于 2021-10-25 21:47:59

win10

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


evilwz 发表于 2021-10-26 14:35:16

      非常感谢zghwelcome高手提供的帮助!
      我浏览了https://www.autoitscript.com/forum/topic/179819-any-way-to-control-the-windows-10-start-menu/,发现窗口 能够判断开始菜单的有无状况,但为反向判断,即当窗口出现时,开始菜单隐藏;反之,当 窗口不见时,开始菜单弹出。
      另外,我的机器上,是_WinAPI_FindWindow('Windows.UI.Core.CoreWindow','启动')。

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

      #include <WinAPISysWin.au3>
      WinWaitClose("")
      Local $hWnd = _WinAPI_FindWindow("Windows.UI.Core.CoreWindow","启动")
      If Not @error Then WinClose($hWnd)

sh1536 发表于 2021-10-26 20:45:37

haijie1223 发表于 2021-10-25 17:12
点击按钮的时候,开始菜单就隐藏了啊

inspect.exe可以查到,之前我也试了,和3楼说的一样是永恒存在的,然后就不知道怎么弄了
页: [1]
查看完整版本: 求教:如何判断“开始菜单”是否处于打开状态?