專案有個需求:在網頁執行的過程中,要把特定的幾個PDF檔固定輸出到第2螢幕。討論後決定寫支公用程式,傳入檔案標題與輸出螢幕來達成這個需求。最後用AutoHotkey很快速的完成此功能(monitor.ahk),再用Ahk2Exe.exe轉成執行檔供需求的程式叫用。
由.ahk產生.exe
ahk2exe /in monitor.ahk /out monitor.exe /bin "Unicode 32-bit.bin"
使用範例
rem 將report1.pdf在第2螢幕顯示 monitor report1.pdf 2
Autohotkey腳本:
檔名為monitor.ahk:
#NoEnv #NoTrayIcon SetTitleMatchMode,2 sFindWindowTitle = %1% ;; 要輸出的檔案標題 if (sFindWindowTitle = "") { sFindWindowTitle := "report1.pdf" } sSwitchToMonitor = %2% ;; 參數2: 要輸出到那個螢幕,預設是第1個螢幕 if (sSwitchToMonitor = "") { sSwitchToMonitor := "1" } ;;MsgBox 參數=%1% %2% SysGet, Mon1, Monitor, 1 ;;MsgBox, Monitor1 Left: %Mon1Left% -- Top: %Mon1Top% -- Right: %Mon1Right% -- Bottom %Mon1Bottom%. SysGet, Mon2, Monitor, 2 ;;MsgBox, Monitor 2 Left: %Mon2Left% -- Top: %Mon2Top% -- Right: %Mon2Right% -- Bottom %Mon2Bottom%. ;; 使用WinTitle找視窗 IfWinExist, %sFindWindowTitle% WinActivate else { ;;MsgBox %sFindWindowTitle% 未開啟,無法顯示到另一個螢幕 WinWait, %sFindWindowTitle%, Reader, 10 } WinGetActiveStats, Title, WW, WH, X, Y WinGetClass, class, A if (sSwitchToMonitor = "1") { iWidth := Abs(Mon1Left+Mon1Right) if (WW > iWidth) { WW := iWidth } iTop := Mon1Top iLeft := (( Mon1Right-Mon1Left - WW ) / 2) +Mon1Left ;;MsgBox Monitor 1 WW=%WW%, iWidth=%iWidth% } else { iWidth := Abs(Mon2Left+Mon2Right) ;;MsgBox %WW%, %iWidth% if (WW > iWidth) { WW := iWidth } iTop := Mon2Top iLeft := (( Mon2Right-Mon2Left - WW ) / 2) +Mon2Left ;;MsgBox Monitor 2 WW=%WW%, iWidth=%iWidth% } ;;MsgBox 顯示 【%sFindWindowTitle%】 到螢幕%sSwitchToMonitor% if class != Shell_TrayWnd if class != Progman if class != DV2ControlHost WinMove, A, , iLeft, iTop, WW, WH return
##
您可能也會有興趣的類似文章
- 輕鬆學會彈指神功-揭露AutoHotkey絕技 (59則留言, 2008/04/10)
- 新版AutoHotkey轉換工具ahk2exe的圖形介面操作步驟 (2則留言, 2013/04/21)
- 用AutoHotkey輕鬆製作螢幕小鍵盤 (16則留言, 2008/03/16)
- 支援Unicode的Autohotkey終於浮上抬面! (1則留言, 2010/10/16)
- 參戰ClickClickClick大賽:我的自動點擊程式ccc.exe V1.3 (14則留言, 2007/06/16)
- [AutoHotkey] 寫得不錯的AutoHotkey推薦文 (5則留言, 2007/10/31)
- 用AutoHotkey統一不同工具的偵錯功能鍵 (0則留言, 2008/03/19)
- 用WriteYours建立常用的縮寫片語以增進輸入速率 (0則留言, 2017/06/01)
- 讓MSN的Esc鍵失效 (5則留言, 2008/10/22)
- 如何轉換AutoHotkey的預設分隔字元:冒號 (2則留言, 2008/03/17)
- [Tools] 操作熱鍵與熱字串的超便利工具:AutoHotKey (13則留言, 2005/04/29)
- [Tools] 加快鍵入速度的「片語特快車」 (2則留言, 2006/07/17)
- [Tools] 續:撰寫AutoHotKey指令以複製檔案 (0則留言, 2005/06/12)
- 用AutoHotkey防止因按Esc鍵而不慎誤關視窗 (0則留言, 2011/04/01)
- 用AutoHotkey改造特殊按鍵 (5則留言, 2008/03/19)