这是针对在Windows 10上运行的应用程序。我加载了两个键盘布局,df <- data.frame(url = c("https://iaspub.epa.gov/enviro/fii_query_dtl.disp_program_facility?pgm_sys_id_in=VA0086738&pgm_sys_acrnm_in=NPDES",
"https://iaspub.epa.gov/enviro/fii_query_dtl.disp_program_facility?pgm_sys_id_in=VAG401896&pgm_sys_acrnm_in=NPDES"),
stringsAsFactors = FALSE)
和ENG US
我正在使用ENG INT
,但是无论使用哪种布局,我都会得到相同的结果。
如何检测两个键盘布局中的哪个正在使用?
如果我打来电话,这也许是我的错
GetKeyboardLayout(0)
然后我每次都会得到正确的结果。现在我很困惑,因为我对Windows 10的键盘布局具有全局印象。
答案 0 :(得分:0)
Languages, Locales, and Keyboard Layouts:
应用程序通常使用语言环境来设置输入语言 并处理输出。为键盘设置语言环境 例如,影响键盘生成的字符值。 设置显示器或打印机的语言环境会影响字形 显示或打印。应用程序通过以下方式设置键盘的语言环境 加载和使用键盘布局。他们设置显示的语言环境 或通过选择支持指定区域设置的字体的打印机。
通常不希望应用程序操纵输入语言 直。而是由用户设置语言和布局组合, 然后在它们之间切换。
调用ActivateKeyboardLayout
函数以激活该语言的用户默认布局。
调用GetKeyboardLayout
函数以获取布局。
都是基于线程或基于进程的。
我想您可能想获得的是系统默认输入语言的输入语言环境标识符,该语言是全局的。
SystemParametersInfo(SPI_GETDEFAULTINPUTLANG, 0, &hkl, 0);