此脚本使用 AutoHotkey 高效控制百度网盘的启动窗口,自动完成隐藏和模拟点击任务。
核心亮点是使用 Shell 消息监听窗口创建事件,并结合 DPI 计算和窗口消息实现精准操作,适合需要在开机时自动控制窗口的用户。
;【示例】自用开机隐藏百度网盘,请务必要关闭百度网盘自身的开机自启。不然WinMove会失效 ; 以下为开机启动使用流程,参考删减 Run D:\Program Files (x86)\BaiduNetdisk\baidunetdisk.exe WinWaitActive, ahk_class DuiHostWnd ; 先等待登录窗口 WinActivate, ahk_class Shell_TrayWnd ; 切换激活任务栏跳过对登录窗口的检测 WinWaitActive, ahk_class DuiHostWnd ; 最后等待取百度网盘的ID进行操作 ID := WinWaitCreated("ahk_class DuiHostWnd") WinMove, ahk_id %ID%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight-150) PostMessage, 0x201, 0, (41*(A_ScreenDPI/120)<<16)|1358*(A_ScreenDPI/120),, ahk_id %ID% PostMessage, 0x202, 0, (41*(A_ScreenDPI/120)<<16)|1358*(A_ScreenDPI/120),, ahk_id %ID% ToolTip, 百度网盘的窗口ID:%ID% Sleep, 2000 ExitApp ; 缺点是使用了OnMessage会持续在线,需要退出脚本才会结束 /* 等待要创建的窗口,超时返回 0,否则返回 ahk_id 参数与WinWait相同, 看 http://ahkscript.org/docs/commands/WinWait.htm 论坛: https://www.autohotkey.com/boards/viewtopic.php?f=6&t=1274 */ WinWaitCreated( WinTitle:="", WinText:="", Seconds:=0, ExcludeTitle:="", ExcludeText:="" ) { ; HotKeyIt - http://ahkscript.org/boards/viewtopic.php?t=1274 static Found := 0, _WinTitle, _WinText, _ExcludeTitle, _ExcludeText , init := DllCall( "RegisterShellHookWindow", "UInt",A_ScriptHwnd ) , MsgNum := DllCall( "RegisterWindowMessage", "Str","SHELLHOOK" ) , cleanup:={base:{__Delete:"WinWaitCreated"}} If IsObject(WinTitle) ; 清理 return DllCall("DeregisterShellHookWindow","PTR",A_ScriptHwnd) else if (Seconds <> MsgNum){ Start := A_TickCount, _WinTitle := WinTitle, _WinText := WinText ,_ExcludeTitle := ExcludeTitle, _ExcludeText := ExcludeText ,OnMessage( MsgNum, A_ThisFunc ), Found := 0 While ( !Found && ( !Seconds || Seconds * 1000 < A_TickCount - Start ) ) Sleep 16 Return Found,OnMessage( MsgNum, "" ) } If ( WinTitle = 1 ; 窗口创建,检查它是否是我们的窗口 && ExcludeTitle = A_ScriptHwnd && WinExist( _WinTitle " ahk_id " WinText,_WinText,_ExcludeTitle,_ExcludeText)) WinWait % "ahk_id " Found := WinText ; 等待窗口显示 }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)