作者zxcwei (wei9133)
看板EzHotKey
标题Re: [AHK-] 请问可否输出英文字串,不受输入法限制
时间Thu Sep 18 20:20:58 2014
※ 引述《kslman ()》之铭言:
: ※ 引述《UndeadSion (UndeadSion)》之铭言:
: : 试试 Send {ASC nnnnn} 的方式,范例如下
: : ---------------->8---------------->8---------------- 请沿此线剪下 ----
: : F12::SendAsc("AbCdEfGhIjKlMnOpQrStUvWxYz")
: : SendAsc(String)
: : {
: : SetKeyDelay, 0
: : Loop, Parse, String
: : Send, % "{Asc " . Asc(A_LoopField) . "}"
: : }
: : ---------------->8---------------->8---------------- 请沿此线剪下 ----
: 我想用第二组的时候SendAsc(String)这行会出现:
: Duplicate function definiton
: 错误讯息,这个是只重复定义了甚麽?
这个我不懂,不过为何不用剪贴簿,付值贴上就好?
就算怕原本剪贴簿内容消失先放进其他变量就好了。
ex.
f1::
oldclip := clipboard
tooltip, % oldclip
clipboard := "帐号"
WinActivate ahk_class Notepad++
;选你自己要用的视窗
send ^v ;贴上
;中间要{tab}孩是滑鼠点自己加
clipboard := "密码"
send ^v ;贴上
clipboard := oldclip
;恢复剪贴簿原本内容
return
至於那个asc码的我还真不会用
;================================
第二种方法
对你要用的那个视窗改输入法,这个比较简单...
但是这是抄来的...原理我也不知道= =
好像是call api的样子
好像也其他输入法的代码不过也不知道要去哪查
这个可以用就将就下吧...
;===============================
DllCall("SendMessage", UInt, WinActive("A"), UInt, 80, UInt, 1, UInt,
DllCall("LoadKeyboardLayout", Str, dwLayout, UInt, 1))
;修改当前输入法为美式键盘英文
;===============================
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.122.159
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/EzHotKey/M.1411042860.A.DC8.html
1F:推 kslman: 第二种方式之前用不了,今天才发现原来是一行啊 XD 01/20 22:19