GetKeyboardLayout()检测到子项的布局不正确

时间:2014-03-12 08:02:20

标签: c# layout detection

在我的应用程序中,我使用了众所周知的代码:

int WinThreadProcId = GetWindowThreadProcessId(GetForegroundWindow(), out _ProcessId);
IntPtr KeybLayout = GetKeyboardLayout(WinThreadProcId);

if (KeybLayout.ToString() == "68748313")
{ //russian };

if (KeybLayout.ToString() == "67699721")
{ //english };

95%的应用程序都可以正常使用。但它不能在以下条件下检测布局: 启动Application1(例如Outlook.exe),然后单击http-link,打开Application2(IE)。在此Application2中,布局始终被检测为英语。

此代码在IE和Outlook独立启动时正常工作。

0 个答案:

没有答案