看板 EzHotKey 關於我們 聯絡資訊
原本是很陽春的hotstring adhdr原版 https://pastebin.com/w6DqH9PL asdr原版 https://pastebin.com/dMDHXAge 剪貼簿 https://pastebin.com/0G4dsT4m 從硬碟叫出來 https://pastebin.com/DvZxEjry 後來有人建議我改成貼到剪貼簿的作法 :X:ADHDr:: str := " ( 上面那些字串 )" SendString(str) return SendString(String) { bak := ClipboardAll Clipboard := "" Clipboard := String ClipWait 1 if (ErrorLevel) { MsgBox 0x10, Error, Couldn't set Clipboard text. } else { Send ^v Sleep 1000 } Clipboard := bak } 或是先把字串存在硬碟裡在叫出來 :X:ASDr::UseTemplate("ASDr") :X:ADHDr::UseTemplate("ADHDr") UseTemplate(Filename) { bak := ClipboardAll Clipboard := "" FileRead CLipboard, % "D:\Templates\" Filename ".txt" ClipWait 1 if (ErrorLevel) { MsgBox 0x10, Error, Couldn't set template text. } else { Send ^v Sleep 1000 } Clipboard := bak } 但兩種做法只要能觸發就能跑出完整字串,但大概十次只能成功觸發一兩次 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.131.146 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1680495406.A.673.html
mkz6: 我測試還是一樣,逐字輸出只在中文輸入模式時衝突, 04/03 13:04
mkz6: 剪貼簿輸出在任何模式都沒問題, 04/03 13:04
mkz6: 看腳本寫入剪貼簿有clipwait和error msg, 04/03 13:04
mkz6: 但你使用時沒跳錯誤視窗,也無法貼上? 04/03 13:04
Rituximab: 對,都沒有跳出錯誤視窗,就是字串出不來 04/03 13:08
mkz6: 在這個情況下你手動^v貼上有東西嗎? 04/03 13:09
Rituximab: 目前還沒失敗後再這樣試過 04/03 13:09
mkz6: 試了才知道是沒寫入剪貼簿所以沒東西貼, 04/03 13:16
mkz6: 還是卡在沒有送出^v貼上… 04/03 13:16
mkz6: 不然你看這篇自己debug https://bit.ly/3U0Ssha 04/03 13:17
Rituximab: 非常感謝 收假後用辦公室電腦來試試看 04/03 13:22
我亂改把sleep改成4000以上 在原本沒事的桌機就開始會遇到跟辦公室電腦一樣卡住的狀況 但辦公室電腦,如果把sleep調長一點(例如2000), 在卡住後的2秒內趕快按^v就可以把字串貼出來 2秒後剪貼簿就變回原樣
ides13: 把Clipboard := bak刪掉就可以了 04/09 13:19
請問這個不把剪貼簿還原,字串輸出就不會卡住的解法想法是甚麼? 詳細希望 ※ 編輯: Rituximab (111.250.131.146 臺灣), 04/09/2023 20:40:19
ides13: 我不太清楚卡住的原因。不過,原先的程式碼,在2秒內未按^ 04/10 01:27
ides13: v的話,剪貼簿會還原,但刪除該行後,就再也不會還原了。 04/10 01:27
ides13: 對於不在乎原本的剪貼簿內容的情況,這樣是一種作法。 04/10 01:27
Rituximab: 謝謝 可能卡住的問題還是要換輸入法 04/10 15:03