編輯:不需要閱讀我的答案,按照Udo Klein的說明,它更容易,它的工作原理應該如此。
如何使用最後一個autohotkey版本發送unicode字符? (不需要以前的兼容Unicode版本)
很難找到明確的信息。因此,要清楚的初學者(像我一樣):
- 複製/過去的「代碼A」,在你的腳本的末尾(應該在編碼ANSI)
- 複製/過去「代碼B」在你的腳本的頂部
- 找到你的Unicode字符代碼在這裏http://www.utf8-chartable.de/unicode-utf8-table.pl
- 4個數字複製的代碼B的U +
- 後(在你的腳本的頂部):更改密鑰你需要(之前的「::」)
- 在代碼B(在你的腳本的P):過去你2.找到0X的(而不是「2260」)之後的unicode的
- 保存腳本
- 雙擊腳本的圖標,它會替換/更新先前版本
代碼A:
SendUnicodeChar(charCode)
{
VarSetCapacity(ki, 28 * 2, 0)
EncodeInteger(&ki + 0, 1)
EncodeInteger(&ki + 6, charCode)
EncodeInteger(&ki + 8, 4)
EncodeInteger(&ki +28, 1)
EncodeInteger(&ki +34, charCode)
EncodeInteger(&ki +36, 4|2)
DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28)
}
EncodeInteger(ref, val)
{
DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)}
代碼B:
!+^D:: ; when press CTRL+ALT+SHIFT will output "≠"
{
SendUnicodeChar(0x2260)
}
return
(看太空!)
需要改善:
不知何故這個劇本不適合本網站http://unicode-table.com/給出的所有Unicode工作,但有人會也許是一種足以告訴我們爲什麼一些Unicode的工作和其他唐't,也許如何使它適用於本網站的任何unicode字符。 這一個例如http://unicode-table.com/en/0609/不起作用。任何想法爲什麼?
你用*它回答了你自己的問題,因爲在我使用的版本中沒有完全支持Unicode,所以你尋找什麼答案? – 2013-04-13 12:43:33
它的版本是 – 2013-04-15 15:36:43