幾個AutoHotkey的實用範例:音量控制、滾輪回上層與語音功能(AHK #7)
音量控制
使用標準的101鍵或104鍵鍵盤時,不像筆記型電腦通常都有多媒體按鍵,此時我們可以用下列AutoHotkey腳本以使用按鍵來控制音量:
!NumpadAdd:: Send {Volume_Up} ;//Alt + numpad plus
!NumpadSub:: Send {Volume_Down} ;//Alt + numpad minus
!Numpad0::Send {Volume_Mute} ;//Alt + numpad 0
檔案總管回上層目錄
按下滑鼠中鍵(滾輸)往上層目錄或到下個項目
~MButton::
WinGetClass,sClass,A
;//MsgBox class=%sClass%
;//FM=7-zip window, TFcFormMain=FreeCommander
if (sClass="TFcFormMain" || sClass="FM" || sClass="MultiCommander MainWnd") {
Send, {BS}
} else if (sClass="CabinetWClass") {
Send, !{up}
} else if (sClass="MozillaWindowClass" || sClass="Chrome_WidgetWin_1") {
WinGetTitle, sTitle, A
;//MsgBox title=%sTitle%
if (InStr(sTitle, "Gmail") > 0) {
Send {j}
} else if (InStr(sTitle, "Twitter") > 0) {
Send {j}
}
}
return
~+MButton::
WinGetClass,sClass,A
;//MsgBox $%sClass%$
if (sClass = "MozillaWindowClass" || sClass="Chrome_WidgetWin_1") {
WinGetTitle, sTitle, A
if (InStr(sTitle, "Gmail") > 0 || InStr(sTitle, "Facebook") > 0) {
Send {k}
} else if (InStr(sTitle, "Twitter") > 0) {
Send {k}
}
}
return
取游標位置的顏色代碼
用MouseGetPos取得游標座標,再用PixelGetColor取出座標處的顏色代碼
!a::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%, RGB
Clipboard := "#" . SubStr(color, 3)
MsgBox, Current color is `n %Clipboard%
return
叫用語音API
A_YYYY、A_Hour等是AutoHotkey的內建變數。
!F12::
date = %A_YYYY%年%A_MM%月%A_DD%日
Speak("今天日期是 " . date)
time = %A_Hour%點 %A_Min%分 %A_Sec%秒
Speak("現在時間是 " . time)
return
Speak(say) {
spovice:=ComObjCreate("sapi.spvoice")
spovice.Speak(say)
}
test7.ahk 原始程式
實際操作影片
##
您可能也會有興趣的類似文章
- AutoHotkey腳本的4種除錯方法(AHK #5) (0則留言, 2019/05/25)
- 輕鬆學會AutoHotkey的熱鍵:熱鍵用法實例解說(AHK #4) (2則留言, 2019/05/24)
- 用AutoHotkey批次快速轉檔:使用GUI圖形介面 (0則留言, 2019/10/20)
- 由零開始寫一次關閉多個同名程式的 AutoHotkey腳本(AHK #10) (0則留言, 2019/07/14)
- AutoHotkey與Google+ Commander合用-以滑鼠移動訊息位置 (0則留言, 2011/10/31)
- [AHK-56] 瀏覽器鏈接快速另存圖片 (0則留言, 2022/09/18)
- [Tools] 常用的AutoHotKey設定 (9則留言, 2005/05/12)
- [AHK#58] 擷取豆瓣電影網的超簡單AutoHotkey爬蟲腳本程式 (0則留言, 2023/03/04)
- 用AutoHotkey統一不同工具的偵錯功能鍵 (0則留言, 2008/03/19)
- [Mattermost 教學#5] 方便的斜線命令與AutoHotkey (2則留言, 2018/04/17)
- AutoHotkey:在FireFox裡用鍵盤瀏覽網頁 (2則留言, 2008/03/27)
- AHK63|AutoHotkey V2 語言概述#1-字串、熱字串與變數 (0則留言, 2024/03/30)
- 改寫AutoHotkey輸出中文字串的寫法 (4則留言, 2009/06/20)
- 輕鬆學會彈指神功-揭露AutoHotkey絕技 (63則留言, 2008/04/10)
- 快速建立個人常用詞庫-AutoHotkey 熱字串小工具:HotString Helper(AHK #3) (0則留言, 2019/05/18)
簡大哥您好,透過觀看您的相關影片,我嘗試用自己(錯誤)的概念模仿並改寫[AHK#7]的一段語法,但始終都沒成功,可否擔誤您一點時間幫我看一下?萬分感激
主題是我希望幾個熱字串的功能只限定在Chrome中的某二個分頁,但下面的語法卻是在任一分頁都可以被執行,因工作需要,再麻煩您指點
#IfWinActive ahk_class Chrome_WidgetWin_1
WinGetTitle, sTitle, A
if (InStr(sTitle, "案件查詢") > 0 || InStr(sTitle, "裁判書查詢") > 0)
{
:*o:5101::0001 {Enter}{Tab 2}
:*o:5102::0017 {Enter}{Tab 2}
:*o:5105::0008 {Enter}{Tab 2}
}
#IfWinActive
我測試的範例如下,把判斷寫在熱字串裡:
#SingleInstance Force
SetTitleMatchMode 2
#IfWinActive ahk_class Chrome_WidgetWin_1
::ss::
WinGetTitle, sTitle, A
pos := InStr(sTitle, “簡睿隨筆”)
;MsgBox pos=%pos%,title=%sTitle%
if (pos > 0) {
Send THIS IS A TEST.
} else {
Send ss
}
Return
#IfWinActive
簡大哥您好,透過觀看您的相關影片,我嘗試用自己(錯誤)的概念模仿並改寫[AHK#7]的一段語法,但始終都沒成功,可否擔誤您一點時間幫我看一下?萬分感激
主題是我希望幾個熱字串的功能只限定在Chrome中的某二個分頁,但下面的語法卻是在任一分頁都可以被執行,因工作需要,再麻煩您指點
#IfWinActive ahk_class Chrome_WidgetWin_1
WinGetTitle, sTitle, A
if (InStr(sTitle, "案件查詢") > 0 || InStr(sTitle, "裁判書查詢") > 0)
{
:*o:5101::0001 {Enter}{Tab 2}
:*o:5102::0017 {Enter}{Tab 2}
:*o:5105::0008 {Enter}{Tab 2}
}
#IfWinActive