AutoHotkey的進階剪貼簿功能:WinClip類別
使用WinClip達成內建剪貼簿功能無法達到的功能。
內建的Clipboard
要取得被選取文字時必須先送出〔Ctrl+c〕將字串複製到系統剪貼簿。
^+g::
current_clipboard = %Clipboard% ; 把目前的剪貼簿內容存起來供後面還原
Send ^c ; 把選取字串用〔Ctrl+C〕存入剪貼簿
ClipWait,1
; 下行使用Google執行搜尋動作,要搜尋的字串就是剪貼簿內容
Run http://www.google.com.tw/search?hl=zh-TW&q=%Clipboard%
Clipboard = %current_clipboard% ; 還原先前的剪貼簿內容
return
範例
在瀏覽器選取一個英文單字,按〔Ctrl+Alt+T〕後開啟英翻中網站,直接顯示單字的中文釋義
- 困難點:如何在不影響現有系統剪貼簿而取得被選取文字?
選取文字若不存入剪貼簿則AutoHotkey無法取得內容。內建功能無法達成此需求,只能使用WinClip類別。
WinClip的使用
- 下載 WinClip
- 由作者網站下載 WinClip.zip
- 解壓縮到本機
- 引入winclipAPI.ahk與WinClip.ahk
#include 解壓縮資料夾/WinclipAPI.ahk
#include 解壓縮資料夾/Winclip.ahk
- 有兩種使用WinClip函數的方法
- 靜態方法:可想像為共用的唯一系統剪貼簿
- 實例方法:可視為自訂的剪貼簿,不影響系統剪貼簿的內容
- 範例:
; 靜態使用方法,不必定義WinClip實例
WinClip.Copy()
text := WinClip.GetText() ; 取得剪貼簿最後一項之內容
; 實例使用方法,必須宣告並定義WinClip,函數名稱多一個 i
wc := new WinClip
wc.iCopy() ; 複製選取文字到專屬空間
text := wc.iGetText() ; 由當前實例的空間取出剪貼簿內容
選取文字
^!t::
wc := new WinClip
wc.iCopy()
t := wc.iGetText()
;;MsgBox text=%t%
Run https://tw.dictionary.search.yahoo.com/search?p=%t%&fr=sfp&iscqry=
return
相關連結
test19.ahk
解說影片
##
您可能也會有興趣的類似文章
- 輕鬆學會彈指神功-揭露AutoHotkey絕技 (63則留言, 2008/04/10)
- [Tools] 常用的AutoHotKey設定 (9則留言, 2005/05/12)
- [AHK#53] AutoHotkey多行內容輸出時的偏移問題 (0則留言, 2022/07/31)
- 輕鬆學會AutoHotkey的熱鍵:熱鍵用法實例解說(AHK #4) (2則留言, 2019/05/24)
- [Tools] 操作熱鍵與熱字串的超便利工具:AutoHotKey (13則留言, 2005/04/29)
- 幾個AutoHotkey的實用範例:音量控制、滾輪回上層與語音功能(AHK #7) (3則留言, 2019/06/05)
- 快速建立個人常用詞庫-AutoHotkey 熱字串小工具:HotString Helper(AHK #3) (0則留言, 2019/05/18)
- [AHK#39] 尋找網頁上特定文字並啟動的簡單作法 (0則留言, 2020/12/12)
- AutoHotkey輸出中文的方法 (19則留言, 2008/03/01)
- 用AutoHotkey輕鬆製作螢幕小鍵盤 (16則留言, 2008/03/16)
- 改寫AutoHotkey輸出中文字串的寫法 (4則留言, 2009/06/20)
- AHK63|AutoHotkey V2 語言概述#1-字串、熱字串與變數 (0則留言, 2024/03/30)
- [AHK#54] 用AutoHotkey快速輸出Markdown標題井號(Hashes) (0則留言, 2022/08/06)
- 用AutoHotkey統一不同工具的偵錯功能鍵 (0則留言, 2008/03/19)
- [AHK#57] AutoHotkey v2正式釋出,2023年學習新目標 (6則留言, 2023/01/01)
Sorry, 很久沒用Google sc…