EzHotKey 板


LINE

這個程式是某天與朋友閒聊時一時興起所做的。程式的主要目的,就是模擬 逐字輸入的方式,將剪貼簿的文字內容慢慢地張貼到 BBS 上。 這個程式上個禮拜曾經在 EZsoft 發表過(#1926SN9Z),後來似乎有人反 應用了也沒增加批幣(倒)。不過那不是重點 XD 既然都寫出來了,還是分 享一下原始碼,給有心學習的人參考一下。 程式的原理很簡單,我選擇以 AutoHotKey 來實作,因為印象中他主打的就 是鍵盤滑鼠以及流程控制的功能。事實上我之前也沒接觸過這套,不過下載 安裝後,再照著他的文件說明做一次,一些基本功能就可以上手了。 在這個程式範例當中,使用到的技巧,包括簡單的流程控制、以對話框做成 與使用者的互動、對於剪貼簿、字串等等的處理,以及超基本的視窗偵測控 制等等。 為了確保我們要輸入的文字能夠確實地進到 PCMan 的視窗中,我還設計了 一個 _send function,來排除可能的干擾以及後續所造成的錯亂情況。 另外,為了模擬更真實的鍵盤輸入狀況,所以做了一個 _sleep function 來產生一個 500 ~ 1500 毫秒的延遲。其實這個只是做好玩的,感覺可有 可無,因為我不是很瞭解批踢踢評價文章批幣的方式,只知道一個字一個 字慢慢輸入,會比整篇複製貼上賺更多錢,但是至於到底需要多少延遲、 以及是否有必要設計這樣長短不一的延遲,就不是很清楚了。 程式的想法很單純,就是從剪貼簿讀入使用者想輸入的文字,然後透過一些 小技巧,將整篇文章分割成一個一個的文字小單位,然後用迴圈的方式逐一 貼到 PCMan 的視窗裡面,這樣就完成整個流程了。 附上程式碼如下,但是因為限於我對 AutoHotKey 的指令瞭解不算深,加以 思考邏輯上可能有一些盲點,所以程式也許不是那麼漂亮、想法不夠周延, 或是還有可以更加改進之處。這些都歡迎大家多多指教,或是提供更棒的想 法一起討論。 感謝大家耐心收看。 ---程式碼及簡單註解--- AppName = 批幣能吃嗎 ; 程式名稱 If WinExist("ahk_class PCMan") or WinExist("ahk_class PCManCB") { WinActivate MsgBox, 1, %AppName%, 發現 PCMan 視窗!`r`r`r ╮併 請將要張貼的內容複製至剪貼簿,並且確認已處於文章編輯模式之下。`r`r │一 請按下[確定]開始張貼`r或是按下[取消]結束本程式 ╯行 IfMsgBox OK { StringReplace, str, clipboard, `r`n, `r, all i = 1 Loop { check := NumGet(str, i - 1, "UChar") If check = 0 { ; 已經沒有內容要輸出,於是中斷 Break } Else { If check > 128 { ; 認定為全形字,這是 BIG5 編碼的規範 ; 本段參考 Lumania 的中文輸出範例,請見本板 #1901ve0f seg := SubStr(str, i, 2) seg := (check << 8) | NumGet(seg, 1, "UChar") i += 2 } Else { seg := SubStr(str, i, 1) If seg = `r or seg = `n seg = 13 ; PCMan 要這樣才能換行,這是實測經驗 Else seg := Asc(seg) ++i } _send(seg) _sleep() } } MsgBox, 0, %AppName%, 剪貼簿內容全部輸入完畢,按[確定]結束本程式。 } } Else { MsgBox, 0, %AppName%, 沒有發現 PCMan 視窗,請按[確定]結束程式。 } _send(asc) { ; 確認送出時,目標視窗處於前景,否則暫停程序 Global AppName If WinActive("ahk_class PCMan") or WinActive("ahk_class PCManCB") { Send, ^l ; 重新整理畫面(BBS 指令),否則有時候會送不出去,這是實測經驗 Send, {ASC %asc%} } Else { MsgBox, 1, %AppName%, 因為 PCMan 失去焦點,所以打字程序暫停。`r`r ╮併 按[確定]繼續未完成之工作`r │一 按[取消]結束目前工作 ╯行 IfMsgBox OK { WinActivate Send, ^l ; 重新整理畫面(BBS 指令),否則有時候會送不出去,這是實測經驗 Send, {ASC %asc%} } Else { Exit } } } _sleep() { ; 產生 500 ~ 1500 毫秒不等的打字間隔 Random, delay, 500, 1500 Sleep, %delay% } --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.165.33.54
1F:推 yinjing:這一篇文章值 616 銀 ( ̄y▽ ̄)╭ 11/10 20:13
2F:→ chweng:聲明一下 我可沒用這個程式來輸入 XD 11/10 21:20
3F:→ chweng:應該是花了點時間來著色 才會有那麼多錢.. 11/10 21:20
4F:→ pthuang:謝謝原 PO 但是看樣子著色功能似乎還沒搞定 0.0" 11/11 05:40
5F:→ kslman:only pcman can do it that too...dont tell any one... 11/12 17:48







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP