2

Windows で現在選択されている IME 言語設定を取得する必要があります。

ImmGetConversionStatus() を見つけましたが、現在選択されている言語を返しません。

4

2 に答える 2

2

この質問はずっと前に尋ねられましたが..あなたは自分でそれを解決したかもしれないと思います. :)

試しましたか?: Windows 7 の場合: GetUserDefaultLocaleName 関数の構文:

int GetUserDefaultLocaleName(
  __out  LPWSTR lpLocaleName,
  __in   int cchLocaleName
);

lpLocaleName は、現在のカルチャを保持します。

ドキュメントを確認してください: http://msdn.microsoft.com/en-us/library/dd318136%28VS.85%29.aspx

参考までに、これらもチェックしてください:http: //msdn.microsoft.com/en-us/library/dd318135%28VS.85%29.aspx および「support.microsoft.com/kb/193080」

于 2011-06-26T02:57:03.783 に答える
0

これに基づいて:

https://stackoverflow.com/a/12954320/964053

...あなたはこのようにsthをしなければなりません:

HWND fore = GetForegroundWindow(); // Every window has it's own current language (keyboard layout)
DWORD tpid = GetWindowThreadProcessId(fore, 0);
HKL hKL = GetKeyboardLayout(tpid);
WORD wd;
ToAsciiEx(VirtualKey, ScanCode, KeyState, (LPWORD)&wd, 0, hKL);
于 2013-03-01T08:47:55.257 に答える