
내 언어 설정이 영어 또는 독일어인 경우 러시아어로 가상 Windows 키보드를 열 수 있는 방법이 있습니까?
현재 설정과 다른 언어로 된 스크립트나 기타 단축키를 사용하여 가상 키보드를 열 수 있나요? 에 따라이 정보는 여기(powershell, cmd)를 사용할 수 있지만 osk
언어를 설정할 기회가 없습니다.
불편한 해결책을 찾았습니다. 에 따르면https://superuser.com/a/922767/72397러시아어 로케일로 다른 사용자를 사용할 수 있습니다.
그런 다음 이 사용자를 사용하여 시작할 수 있습니다 osk
. 왜냐하면 740: The requested operation requires elevation
이 해결 방법을 사용하고 먼저 다른 해결 방법을 실행해야 하기 때문입니다 cmd
(참조https://superuser.com/a/1134561/72397).
따라서 runas /profile /savecred /user:"RUSSIAN USER" "cmd /c start osk"
해당 특정 사용자의 로캘로 osk를 시작합니다.
편집 2: 몇 가지 테스트를 거친 후 다른 사용자로 실행 OSK
하더라도 현재 로케일과 다를 수 없다는 것을 깨달았습니다 . OSK
창의 아무 곳이나 클릭하자마자 OSK
키보드 레이아웃이 내 로케일로 변경됩니다.
OSK
독일 키보드 레이아웃으로 작업하는 동안 러시아어로 하나를 실행하는 것이 아이디어였습니다 .
따라서 가장 좋은 솔루션은 솔루션을 사용하는 것으로 보이며 AutohotKey
신속하게 러시아어로 변경한 다음 다시 돌아옵니다.
SO와 관련된 비공개 발언https://stackoverflow.com/q/74829525/356726
답변1
타사 도구를 사용해야 합니다.
무료로 이용하실 수 있습니다오토핫키.
다음 예제 스크립트는 시스템 언어를 지정된 설치된 언어로 전환하고 화면 키보드를 시작합니다. 여기서는 F11언어를 미국-영어로 설정하고 F12프랑스어-표준으로 설정합니다. 더 많은 언어 코드는 Microsoft 문서에서 찾을 수 있습니다. 언어 코드.
F11::SetDefaultKeyboard(0x0409) ; english-US
F12::SetDefaultKeyboard(0x040c) ; french
SetDefaultKeyboard(LocaleID){
Global
SPI_SETDEFAULTINPUTLANG := 0x005A
SPIF_SENDWININICHANGE := 2
Lan := DllCall("LoadKeyboardLayout", "Str", Format("{:08x}", LocaleID), "Int", 0)
VarSetCapacity(Lan%LocaleID%, 4, 0)
NumPut(LocaleID, Lan%LocaleID%)
DllCall("SystemParametersInfo", "UInt", SPI_SETDEFAULTINPUTLANG, "UInt", 0, "UPtr", &Lan%LocaleID%, "UInt", SPIF_SENDWININICHANGE)
WinGet, windows, List
Loop %windows% {
PostMessage 0x50, 0, %Lan%, , % "ahk_id " windows%A_Index%
}
Sleep, 100
Run, C:\Windows\System32\osk.exe
}
AutoHotKey 설치 후, 위의 텍스트를 .ahk
파일에 넣고 더블클릭하여 테스트해 보세요. 트레이바에 있는 녹색 H 아이콘을 마우스 오른쪽 버튼으로 클릭하고 종료를 선택하여 스크립트를 중지할 수 있습니다. 로그인 시 실행되도록 하려면 시작 그룹의 에 배치하십시오
C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
.
유용한 AutoHotkey 문서: