作者Rituximab (Rituximab)
看板EzHotKey
标题Re: [AHK-] 标点符号全形半形会影响到热字串吗
时间Mon Apr 3 12:16:44 2023
原本是很阳春的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://webptt.com/cn.aspx?n=bbs/EzHotKey/M.1680495406.A.673.html
1F:推 mkz6: 我测试还是一样,逐字输出只在中文输入模式时冲突, 04/03 13:04
2F:→ mkz6: 剪贴簿输出在任何模式都没问题, 04/03 13:04
3F:→ mkz6: 看脚本写入剪贴簿有clipwait和error msg, 04/03 13:04
4F:→ mkz6: 但你使用时没跳错误视窗,也无法贴上? 04/03 13:04
5F:→ Rituximab: 对,都没有跳出错误视窗,就是字串出不来 04/03 13:08
6F:推 mkz6: 在这个情况下你手动^v贴上有东西吗? 04/03 13:09
7F:→ Rituximab: 目前还没失败後再这样试过 04/03 13:09
8F:推 mkz6: 试了才知道是没写入剪贴簿所以没东西贴, 04/03 13:16
9F:→ mkz6: 还是卡在没有送出^v贴上… 04/03 13:16
11F:→ Rituximab: 非常感谢 收假後用办公室电脑来试试看 04/03 13:22
我乱改把sleep改成4000以上
在原本没事的桌机就开始会遇到跟办公室电脑一样卡住的状况
但办公室电脑,如果把sleep调长一点(例如2000),
在卡住後的2秒内赶快按^v就可以把字串贴出来 2秒後剪贴簿就变回原样
12F:推 ides13: 把Clipboard := bak删掉就可以了 04/09 13:19
请问这个不把剪贴簿还原,字串输出就不会卡住的解法想法是甚麽? 详细希望
※ 编辑: Rituximab (111.250.131.146 台湾), 04/09/2023 20:40:19
13F:推 ides13: 我不太清楚卡住的原因。不过,原先的程式码,在2秒内未按^ 04/10 01:27
14F:→ ides13: v的话,剪贴簿会还原,但删除该行後,就再也不会还原了。 04/10 01:27
15F:→ ides13: 对於不在乎原本的剪贴簿内容的情况,这样是一种作法。 04/10 01:27
16F:→ Rituximab: 谢谢 可能卡住的问题还是要换输入法 04/10 15:03