저는 다음 3개 언어를 입력합니다.
언어 A - 55%의 경우
언어 B - 40%
언어 C - 5%의 경우
일반적인 해결책은 세 가지 언어를 모두 설치하고 Ctrl/Alt-Shift를 사용하는 것입니다. 그러나 A와 B 사이를 왔다 갔다 할 때마다 언어 C를 전환해야 하는 것은 상당히 성가신 일입니다.
Ctrl/Alt-Shift를 누를 때 Windows가 C 언어로 전환되는 것을 방지할 수 있는 일종의 솔루션이 있습니까? 그런 다음 언어 C로 전환하기 위한 별도의 단축키를 추가할 수 있습니다.
저는 윈도우 7 SP1을 사용하고 있습니다.
감사합니다.
답변1
당신은 만들 수 있습니다오토잇키보드 언어를 전환할 때 언어 "C"를 "건너뛰기" 위한 스크립트입니다.
설치 후오토잇그리고편집자. 데스크탑->새로 만들기->Autoit 스크립트를 마우스 오른쪽 버튼으로 클릭합니다. 생성된 파일을 마우스 오른쪽 버튼으로 클릭 -> 편집합니다. 이제 ScITE 창이 표시되고 "여기에 코드를 추가하세요" 줄 뒤에 다음 코드를 추가하세요.
#include <WinAPISys.au3>
ClipPut(_WinAPI_GetKeyboardLayout(ControlGetHandle("[ACTIVE]","","")))
현재 언어가 "C"가 될 때까지 SHIFT+ALT(또는 키보드 언어 전환을 위해 등록된 단축키)를 누릅니다(키보드 언어 이름이 작업 표시줄에 표시되지 않으면 Win+R ->> CTFMON.EXE ->> Enter를 누름). ScITE 창에서 도구->이동을 누르세요. 이제 클립보드 언어 "C" 코드에 있습니다. 붙여넣기(CTRL+V)하여 어딘가에 저장하세요.
이전 코드를 제거하고 다음을 붙여넣습니다.
#include <WindowsConstants.au3> #include <WinAPISys.au3> #include <문자열.au3> #NoTrayIcon $skiplang="0x04090409" ;언어를 전환할 때 이 언어를 건너뜁니다. $list=_WinAPI_GetKeyboardLayoutList( ) $fakeforwardlang="" IsArray($list)이면 $list[0]<3이면 종료합니다. 너 감자야 $i = 1의 경우 $list[0] if $list[$i]=$skiplang Then;다음 언어 찾기 $i=$list[0]이면 $fakeforwardlang=$list[1] 종료 루프 종료 $fakeforwardlang=$list[$i+1] 종료 루프 종료 다음 또 다른 출구 종료 $fakeforwardlang=StringMid($fakeforwardlang,1,6) 동안 1 $handle=ControlGetHandle("[활성]","","") getcurkb($handle)=$skiplang이면 _WinAPI_SetKeyboardLayout($handle, $fakeforwardlang) 수면(100) 향하게 하다 기능 getcurkb($handle) _WinAPI_GetKeyboardLayout($handle) 반환 EndFunc
다음 단계에서는 저장된 언어 "C" 코드를 다음으로 바꿔야 합니다.0x04090409이 스크립트(5줄)에서.
그런 다음 SciTE 창에서 도구->빌드를 누르세요. 이제 Autoit 스크립트가 있던 동일한 디렉토리에서 실행 파일을 얻을 수 있습니다. 이 실행 파일(.exe)을 실행하십시오.
스크립트를 중지하려면 프로세스 종료를 위해 작업 관리자를 사용해야 합니다.
3가지 키보드 언어가 있고 UAC가 비활성화된 Windows 7에서 작동합니다.
업데이트:
나는 망쳤다. _WinAPI_SetKeyboardLayout Forward는 가끔씩만 작동합니다. {down} 키를 눌렀을 때 표준 전송에는 매우 버그가 있습니다. 외부 기능을 기반으로 한 현재 솔루션입니다. 하지만 이 기능의 한 가지 문제는 다음 키보드 언어로 전환하려면 Shift와 Alt를 누르지 않아야 한다는 것입니다. 나중에 코드를 다시 확인해야 합니다.
업데이트2:
_WinAPI_SetKeyboardLayout으로 돌아가지만 가짜 전달을 사용합니다. 지금은 어떤 문제도 발견할 수 없습니다.
답변2
나는 같은 상황에 처해 있으며 언어마다 다른 단축키를 설정했습니다. 예:
- Ctrl+ Shift+ 1언어 A의 경우,
- Ctrl+ Shift+ 2언어 B의 경우,
- Ctrl+ Shift+ 3언어 C의 경우
이를 통해 단 한 번의 키 입력으로 원하는 언어로 전환할 수 있습니다. 이는 제어판\모든 제어판 항목\언어\고급 설정\입력 도구 모음 단축키 변경에서 설정할 수 있습니다(Windows 10의 경로이며 Windows 7에서는 다를 수 있지만 비슷한 위치입니다). 대화상자는 다음과 같습니다.키 순서 변경