유니코드 버젼은 한글은 잘쳐지는데 한글상태로 영어를 치면 한글로 쳐져서..ㅠㅠ 전에 올린 스크립트로 해결은 되는데 가끔 정상적으로 안되는거 때문에빡쳐서 그냥 ANSI버젼으로 돌아왔음요...
ANSI버젼은 오히려 한글이 깨져서 쳐집니다.-_- 그래서 그걸 해결하는 함수임돠
sendH( sAnsiText )
{
;cafe.naver.com/autohotkey/199 by nnesori
wStrLen:=DllCall("MultiByteToWideChar",uint,0, uint,0, str,sAnsiText , uint,-1, str, 0, uint,0 )
varSetCapacity(cu_WideText,wStrLen*2,0)
DllCall("MultiByteToWideChar",uint,0, uint,0, str,sAnsiText , uint,-1, str,cu_WideText, uint, wStrLen )
nEventCount := wStrLen* 2 , VarSetCapacity( events, 28*nEventCount, 0 )
ptrWCode:=&cu_WideText , p:=&events
loop, % wStrLen-1
{
code:=*ptrWCode|( *(ptrWCode+1)<<8 ),ptrWCode+=2
p:=NumPut(4,NumPut(code,NumPut(1,p+0 )+2,0,"UShort")+0)+16
p:=NumPut(6,NumPut(code,NumPut(1,p+0 )+2,0,"UShort")+0)+16
}
result := DllCall( "SendInput", "uint", nEventCount, "uint", &events, "int",28)
if( ErrorLevel or result < nEventCount )
{
MsgBox, [SendInput] failed: EL = %ErrorLevel% ~ %result% of %nEventCount%
return, false
}
return, true
}
사용법({Enter}이런건 안먹힙니다.;;)
sendH("한글 메세지")
sendH(변수)
참고로 이함수는 네이버오핫카페에 nnesori님이 만듬
ps. ANSI버젼으로 넘어오니까 문제는 확실히 해결되서 좋은데 소스가 두배로 늘어남-_-ㅋ
'프로그래밍 > AutoHotKey' 카테고리의 다른 글
[자작] 듀얼 모니터 사용 시 마우스 가두기, ClipCursor (5) | 2013.12.01 |
---|---|
[자작] 자동 접두어&접미어 입력기 (0) | 2012.02.05 |
[자작] 스타 치트키 입력기 (6) | 2012.01.18 |
오토핫키 한영 입력 문제 해결 (유니코드 버전 O) (0) | 2011.05.12 |
Hotstring (0) | 2011.02.26 |
오토핫키 GUI 기초 (2) | 2011.02.24 |
ImageSearch (0) | 2011.02.24 |
AutoHotKey의 기초? (0) | 2011.02.24 |