2011-03-01 5 views
1

사용자가 사용자 지정 글로벌 단축키를 등록 할 수있는 응용 프로그램을 작성했습니다. 그리고 단축키가 눌려지면 주어진 텍스트를 활성화 된 형태로 보냅니다. 이렇게하려면 InputSimulator 라이브러리를 사용하고 있습니다. 하지만이 앱이 유니 코드 문자 (예 : "아제르바이잔 알파벳"의 "Ə")를 포함하는 텍스트를 작성하게 만들 때 "?" 대신. 나는이 문자를 "\ u0259"와이 Charachter의 다른 16 진수 코드 ("Ü", "Ö", "Ğ", "Ş", "Ç"와 같은 다른 문자)로 바 꾸었습니다. 그러나 아무것도 바뀌지 않았습니다. 다른 라이브러리가 유니 코드를 지원하여이 시뮬레이션 프로세스를 수행 할 수는 없다.유니 코드 텍스트 입력을 양식에 시뮬레이트하는 방법

저는 WindowsForms를 사용하고 있습니다. 네가 나를 도와 주길 바래. 감사!

답변

1

양식에 사용중인 글꼴에 문제가있을 수 있습니다. 유니 코드 글꼴 (예 : Arial Unicode MS)인지 확인하십시오.

+0

유니 코드 글꼴을 사용하고 있습니다. 나는이 응용 프로그램없이 "Ə"라고 쓸 수 있습니다. 그래서 글꼴 문제가 아닙니다. –

+0

@Togrul : 알겠습니다. 수동으로 할 수 있는지 확신 할 수 없었습니다. –

+0

"?" "Ə"의 경우 * 응용 프로그램 *에서 사용중인 글꼴에는 "Ə"에 대한 글리프가 없습니다. 글꼴이 유니 코드 가능인지 확인하고 *에 아제르바이잔 글립 문자가 포함되어 있는지 확인하십시오. 우리 회사의 주요 제품의 최신 버전은 Azerbaijani를 특별히 지원하지 않지만 터키어 지원의 일부일 수있는 Arial Unicode (Microsoft 또는 Ascender Corp에서 사용 가능)를 사용하고 있습니다. – DaveE

0

라이브러리의 내부를 살펴본 결과 문제의 커널은/WM_KEYDOWN 메시지로 번역 된 InputBuilder.AddCharacter 함수에 있어야합니다. 그러나 그것은 SendInputKEYBDINPUT 구조의 문서에 따라 잘 작동하는 것으로 보입니다.

내 용의자는 wScanWORD 매개 변수를되고, 그것은 BMP 이외의 유니 코드 문자를 지원하지 수 있다는 것입니다,하지만 당신의 문자 (즉,이 그 안에 확실히 거짓말을한다)가 제대로 삽입되지 않은 이유를 설명하지 않을 것입니다.

또 다른 용의자는 대상 응용 프로그램이 제대로 처리하지 않는다는 것입니다 그 "특별한"WM_KEYUP (wParam를 VK_PACKET으로 가지고 마술을 가진 WM_CHAR로 번역되어)/WM_KEYDOWN; 모든 응용 프로그램에 해당 문제가 있습니까?

0

해결책이 여기에 게시됩니다 : http://inputsimulator.codeplex.com/discussions/214858

dev에 그는 내가 현재 자신을 .DLL 편집으로 찾고 있어요 ... 11 월에 "곧 공개해야한다"고 말했다. 변경 사항이 2 줄만 보이는 것 같습니다. 나는 어떻게 생각하는지 다시 게시 할 것입니다.

+0

대단히 감사합니다! 나는 그 수정을 시도했지만 그것은 나를 위해 작동하지 않았다. 어쩌면 그것은 이전 버전을위한 것이거나 내가 잘못한 것일 수도 있습니다. 이 수업은 여전히 ​​나에게 가장 좋은 해결책입니다. 이 유니 코드 지원 문제를 해결하면 알려주십시오. 다시 고마워. :) –

+0

그래, 나 한테도 잘 안됐어. 알아낼 수 없어. 수정 프로그램은 매우 간단하지만 이전 버전의 것으로 보입니다. : / – cksubs

관련 문제