Skip to content

Home Korean

mangokingTW edited this page Aug 28, 2026 · 10 revisions

 IME Mode Persistence

繁體中文 · English · 简体中文 · 日本語 · 한국어

입력기가 프로그램 간에 동작하는 방식을 제어하는 Windows 유틸리티입니다. 마지막으로 선택한 입력 모드(한글/영문 등의 고유 모드 또는 영숫자 모드)를 다음 창으로 이어주며, 실행 파일을 읽을 수 없는 프로그램(예: 안티치트로 보호되는 전체 화면 게임)을 포함해 특정 프로그램을 고정된 입력 언어로 바인딩할 수 있습니다.

설치

추천: Microsoft Store —— 서명되어 있고 자동 업데이트됩니다.

Releases에서 받을 수도 있습니다:

파일 설명
...-setup.exe 표준 설치 프로그램(현재 사용자 또는 모든 사용자 설치 선택 가능)
...-x64.zip 포터블; 압축을 풀고 실행

설치 중 로그온 시 자동 시작을 체크하세요. 그러면 화면 오른쪽 아래 알림 영역에서 실행됩니다 — Windows 11은 새 아이콘을 시계 옆의 꺾쇠 뒤에 숨깁니다. 설치하자마자 작동하며, 별도의 설정이 필요 없습니다.

⚠ GitHub 빌드는 서명되지 않았습니다

이 안내는 GitHub Releases에서 다운로드한 설치 프로그램이나 zip에만 해당됩니다. 위의 Microsoft Store 버전은 서명되어 있어 아래 문제가 발생하지 않습니다.

GitHub 빌드는 현재 코드 서명 인증서가 없어 다음과 같은 일이 있을 수 있습니다:

  • 파란색 Windows의 PC 보호 화면 → 추가 정보 → 실행. 이는 바이러스 탐지가 아니라 평판 경고입니다.
  • 백신이 설치 프로그램을 삭제 —— 알려진 탐지 항목은 Behavior:Win32/Persistence.A!ml이며, 로그온 시 자동 시작이 만드는 로그온 작업에 대한 것입니다. 포터블 zip을 사용하거나 해당 옵션을 체크하지 마세요. 오탐 신고는 Microsoft에 제출했지만, 백신이 어떻게 판단할지는 누구도 보장할 수 없습니다.

소스 코드, 빌드 워크플로, 릴리스 산출물은 모두 공개되어 있으며 태그된 커밋으로부터 GitHub Actions가 빌드하고, gh attestation verify로 검증할 수 있는 빌드 프로버넌스가 첨부됩니다. 신경 쓰인다면 위의 Microsoft Store 버전을 사용하면 이 문제를 완전히 피할 수 있습니다.

왜 필요한가

Windows는 IME 상태를 스레드별로 유지합니다. 다른 창으로 이동하면 변환 모드가 IME의 기본값으로 되돌아갑니다 — 중국어 키보드라면 중국어가 됩니다. 그래서 Shift를 눌러 영숫자로 바꾸고 창을 전환하면, 다시 중국어를 입력하게 됩니다.

설정 → 시간 및 언어 → 입력 → 고급 키보드 설정 → 각 앱 창에 대해 서로 다른 입력 방법 사용 은 이 문제를 해결하지 못합니다. 이 설정은 어떤 입력 방법이 활성화되는지를 관장할 뿐, 그 입력 방법이 고유 모드인지 영숫자 모드인지는 관장하지 않습니다 — 이를 꺼도 창을 전환하면 여전히 중국어로 되돌아갑니다.

변환 모드를 다루는 Windows 설정은 없습니다. 그것이 이 유틸리티의 첫 번째 목적입니다: 당신이 선택한 고유/영숫자 모드를 다음 창으로 이어주는 것입니다.

두 번째 목적은 특정 프로그램을 하나의 입력 언어로 고정하는 것으로, 어떤 설정으로도 닿을 수 없는 종류까지 포함합니다 — 원시 입력을 읽는 전체 화면 게임은 키보드를 직접 가져가서 IME 상태 관리에 전혀 참여하지 않으므로, 외부에서만 처리할 수 있습니다. Helldivers 2가 그런 예입니다.

무엇을 하는가

아래 기능은 모두 트레이 아이콘의 오른쪽 클릭 메뉴에 있습니다:

트레이 오른쪽 클릭 메뉴

창 간 모드 유지(기본값 켜짐) — 한 창에서 중국어를 입력하고 다른 창으로 전환하면 중국어가 다시 돌아옵니다. Shift를 눌러 영숫자로 바꾸면 다음 창도 그 상태를 받습니다. 가장 최근에 의도적으로 변경한 것을 따릅니다. 원하지 않으면 트레이 메뉴에서 체크를 해제하세요.

앱 언어 바인딩 — 프로그램을 하나의 언어로 고정합니다: 터미널은 항상 영어, Word는 항상 중국어. 오른쪽 클릭 → 앱 언어 바인딩..., 그런 다음 프로그램을 찾아보기하거나, 설치 위치와 무관하게 매칭되도록 파일 이름만 입력하거나, 마지막 앱 사용을 누르거나, 파일을 읽을 수 없는 프로그램에는 창 클래스 사용을 누릅니다.

앱 언어 바인딩 대화상자

경로에 버전이 포함되거나 창 클래스에 생성된 접미사가 붙는 프로그램의 경우, 대신 와일드카드를 입력하세요: glob:*\game.exe는 전체 경로와 매칭되고 class-glob:name_*는 창 클래스와 매칭되며, *(경로 구분자를 포함한 임의의 연속 문자)와 ?(한 문자)를 사용합니다. 정확한 규칙이 와일드카드보다 우선하지만, 이것은 기본 순서이며 목록을 드래그해 바꿀 수 있고 위에서부터 처음 일치하는 규칙이 우선합니다. 각 규칙은 전환 시 한 번만 적용(창에 들어올 때 설정한 뒤 그대로 둠)으로 설정할 수 있고, 아무것도 일치하지 않으면 기본 언어(기본값 꺼짐)를 쓸 수 있습니다.

캐럿 입력 표시기(기본값 꺼짐) — 트레이 메뉴의 커서 위치에 입력 표시기 표시는 텍스트 캐럿 옆에 실제로 입력될 내용을 알려주는 작은 표시기를 띄웁니다: 언어의 고유 모드에는 / / , IME가 영숫자 모드일 때는 , 또는 EN 같은 언어 코드를 표시합니다. 선택한 값은 기억됩니다. 표시기는 캐럿을 따라가며 자체 창을 가리지 않습니다. 보고되는 캐럿 위치가 믿을 수 없는 필드에서는 — Chromium의 한계로 인한 브라우저 주소 표시줄 등 — 텍스트를 가리지 않도록 줄 위쪽에 그려집니다.

입력 표시기는 다음 위치에는 표시되지 않습니다: 작업 표시줄과 시작 메뉴 검색 상자, Windows 터미널, 파일 탐색기. 이들은 시스템 수준 화면으로, Windows는 디지털 서명된 애플리케이션에만 표시를 허용하지만 이 도구는 현재 서명되지 않았습니다. 일반 애플리케이션(브라우저, 메모장 등 텍스트 편집기, Office, 채팅 앱, 게임 등)에서는 정상적으로 표시됩니다.

둘러보기

무엇을 하고 있는지 확인하기

트레이 아이콘을 클릭하지 말고 마우스를 올려보세요 — 클릭하면 확인하려던 프로그램이 포커스를 잃어 잘못된 정보를 보게 됩니다. 네 줄이 나타납니다: 현재 프로그램, 그에 바인딩된 언어, 실제로 사용 중인 언어, 마지막 전환이 성공했는지 여부. 바인딩된 언어와 실제 언어가 일치하면 정상 작동 중입니다.

마우스를 올리면 표시되는 상태

다섯 번째 줄 일반 권한 - 권한이 상승된 프로그램은 보이지 않음 은 유틸리티가 관리자로 실행되고 있지 않다는 뜻입니다. 더블 클릭하면 어떤 자동 시작 방식이 구성되어 있는지를 포함한 더 자세한 상태 창이 열립니다.

자주 묻는 질문

새 메모장과 같은 모던 창으로 전환할 때 입력 모드가 유지되지 않는 이유는 무엇인가요? 새 메모장 등 모던 / WinUI 앱의 실제 텍스트 입력 컨트롤은 포커스된 하위 창에 있으며, Windows UIPI 메커니즘으로 보호됩니다:

  • 해결책(추천):트레이 메뉴에서 「모던 창 (WinUI) 지원 활성화…」를 클릭합니다(UAC 승인 1회 통과 후 백그라운드 헬퍼 서비스 시작). 이를 통해 Helper가 UIPI 보호를 넘어 입력 모드를 유지합니다. Microsoft Store 버전 및 일반 데스크톱 버전 모두 지원됩니다!
  • 데스크톱 버전에서 직접 권한 상승도 가능:트레이 메뉴에서 「관리자로 다시 시작」을 클릭합니다.

현재 프로그램이 class:로 시작하는 무언가로 표시됩니다 — 정상이며 결함이 아닙니다. 일부 프로그램, 주로 안티치트 게임은 다른 프로그램이 자신의 파일 위치를 읽지 못하게 하므로, 유틸리티는 대신 창 클래스로 이를 식별합니다. 그 class:... 문자열이 바로 바인딩 규칙에 필요한 값입니다.

관리자로 실행해야 하나요? 대부분의 안티치트 게임처럼 스스로 관리자로 실행되는 프로그램을 제어할 때만 필요합니다 — Windows는 권한이 낮은 프로그램이 권한이 높은 프로그램의 창을 읽는 것을 허용하지 않으며, 창 클래스조차도 읽을 수 없습니다. 자동 시작은 항상 권한 상승 없이 실행됩니다: 매 로그온마다 조용히 권한 상승 상태로 시작하는 프로그램은 백신이 지목하는 지속성(persistence) 패턴이므로, 유틸리티는 의도적으로 그렇게 하지 않습니다. 권한이 상승된 프로그램을 제어하려면 트레이 메뉴의 관리자로 다시 시작을 사용해 그 자리에서 권한을 올리세요 — 세션당 한 번, 필요해지기 전에, UAC 프롬프트 한 번을 수락하면 됩니다. 일반적인 사용(모드 유지, 권한 상승되지 않은 프로그램 바인딩)에는 권한 상승이 필요 없으며 ...-setup.exe로 충분합니다.

고급: 정말로 권한 상승된 자동 시작을 원하는 경우. 유틸리티는 (위 이유로) 이를 의도적으로 내장하지 않지만, 작업 스케줄러의 "로그온 시, 최고 권한" 작업으로 직접 설정할 수 있습니다. 관리자 명령 프롬프트에서 다음을 실행하세요(경로는 실제 설치 위치로 바꾸세요; 모든 사용자용 설치의 기본값은 C:\Program Files\ImeModePersistence입니다):

schtasks /Create /TN "ImeModePersistence-Elevated" /TR "\"C:\Program Files\ImeModePersistence\ImeModePersistence.exe\"" /SC ONLOGON /RL HIGHEST /F

/RL HIGHEST는 로그온 시 UAC 프롬프트 없이 최고 권한으로 시작합니다. 작업을 만든 후에는 트레이 메뉴에서 앱 자체의 로그온 시 자동 시작꺼야 합니다. 그렇지 않으면 권한 상승되지 않은 HKCU Run 항목이 로그온 시 권한 상승되지 않은 두 번째 복사본을 실행합니다. 작업을 제거하려면: schtasks /Delete /TN "ImeModePersistence-Elevated" /F.

바인딩은 언어를 고정하는 것이지 특정 IME 하나를 고정하는 것이 아닙니다 — 중국어, 영어, 일본어를 각각 바인딩할 수 있지만, 한 언어에 여러 IME가 설치되어 있으면 첫 번째 것이 사용됩니다.

일부 프로그램은 곧바로 되돌립니다 — 유틸리티는 프로그램과 다투기보다는 몇 번 재시도한 뒤 물러났다가 다시 시도합니다: 처음에는 몇 초, 프로그램이 고집할수록 더 길게, 최대 30초까지입니다. 다른 창으로 전환했다가 돌아오면 즉시 재시도합니다.

안티치트가 이를 지목할 수 있나요? 게임을 수정하거나, 메모리를 읽거나, 무언가를 주입하거나, 키 입력을 합성하지 않습니다. 전환은 창에 Windows의 표준 입력 언어 변경 알림을 게시하는 방식으로 작동합니다 — Win+Space를 눌렀을 때 시스템이 전달하는 것과 동일한 것이며, 창은 이를 무시해도 됩니다 — 그리고 이것이 적용되지 않을 때는 Windows 자체의 입력 설정으로 대체합니다. 전체 목록은 Helldivers 2 페이지에 있습니다.

그 외

인터페이스는 Windows의 표시 언어(영어·번체 중국어·간체 중국어·일본어·한국어)를 따릅니다. 설치 프로그램은 영어 전용입니다. 다크 모드에서는 앱 언어 바인딩 대화상자 전체에 적용되며, 상태·오류 같은 임시 창은 본문은 밝게 두고 제목 표시줄만 어두워집니다.

Clone this wiki locally