【ctfmon.exe】IMEで日本語入力と変換ができなくなったときのコマンド

目次

急に日本語入力ができなくなった!

Windows10でネットの検索しようと、ヤフーの検索窓に文字を入力しようとしたら半角/全角を押しても日本語入力ができない状況になりました。

日本語変換のIMEアイコン表示

症状

  • アルファベット(半角英数字)しか入力できない
  • 半角/全角またはAlt+半角/全角を押してもダメ
  • タスバーにIMEのアイコンがいない
  • [あ]や[A]も表示されない

同様にネットにあった症状

  • IMEが起動していない、または勝手に落ちて終了または停止しているっぽい
  • 『IMEが無効です』とエラーが表示された
  • 言語バー(IMEツールバー)が表示されない

このようなときにコマンドからIMEを起動/再起動させて回復する方法を見つけたのでメモ。

回復する方法

コマンドプロンプトを起動し、以下のコマンド実行します。

IMEを起動するコマンド

ctfmon.exe

コマンドを実行したら、半角/全角または変換を押すと無事に復旧し、『ひらがな』の入力と変換ができるように戻り、IME日本語入力が復活するはずです。

ctfmon.exeについて

調べてみるとctfmon.exeはテキスト・サービスと呼ばれ、Windowsログオン時に自動起動されるバックグラウンド・プログラムです。このサービスはキーボードによるテキスト入力だけでなく、音声認識入力、手書き認識入力などを統合的に扱えるようにしているもので、デスクトップやタスクトレイに表示される『言語バー』は、このサービスの一部だそうです。

今回、何等かの問題でWindows起動時にこのサービス(ctfmon.exe)が正常に起動できず、このようなことが起きたと思われます。

関連コマンド

IMEのプロセスIDを確認するコマンド

tasklist /fi "imagename eq ctfmon.exe"

IMEのプロセスIDを確認するコマンド tasklist /fi "imagename eq ctfmon.exe"

プロセスID指定してIMEを強制終了させるコマンド

コマンドプロンプトもPowerShellのどちらも管理者として実行が必要です。

コマンドプロンプト
taskkill /pid 40172 ←上で調べたctfmon.exeのPIDを指定
PowerShell
ps -Name "ctfmon" | %{taskkill /pid $_.ID; ctfmon.exe}

IMEを再起動するバッチファイルのソース

既にIMEが起動していて、IMEの再起動をしたい場合に使えるバッチファイルです。動作としては、起動中のIMEを強制終了させて、再度IMEを起動するという方法です。 管理者として実行しないとエラーになります。

@echo off
@setlocal enabledelayedexpansion
 
echo.
echo IMEを再起動します。

echo.
echo プロセスIDを調べています。
for /f "tokens=1,2" %%i in ('tasklist /fi "imagename eq ctfmon.exe"') do @set PID=%%j

tasklist /fi "imagename eq ctfmon.exe"

rem 余計なスペースを削除
call :Trim !PID!

echo.
echo プロセスIDを"!PID!"を取得しました。

echo.
echo IMEを終了させています。
echo.
taskkill /pid !PID!
 
echo.
echo IMEを起動しています。
ctfmon.exe
 
echo.
echo IMEの再起動が完了しました。
echo.

goto End
  
:End
endlocal
pause
exit
 
:Trim
set PID=%*

バッチファイルのダウンロード

上記のバッチファイルをここからダウンローどできます。ZIP圧縮していますので、解凍してご利用ください。

ime_reset.zip(509 byte)
スクリーンショット

バッチファイルを実行したときの画面。

もう一つ簡単なバッチファイル

@echo off
for /f "usebackq tokens=2" %%a in (
`tasklist /fi "IMAGENAME eq ctfmon.exe" ^| findstr "[0-9]"`) do (
taskkill /pid %%a
)
ctfmon.exe

 

再起動しても再発する場合

正常に戻っても再起動後には再発する場合は、以下のページを参考にレジストリの変更を試してみてください。

その他、このページにある以下の部分が役に立ちそうです。

前へ

メール内にあるepl.paypal-communication.comは本物?偽物?かを調べてみた

次へ

知らなった!エクセルやワード、パワーポイントで簡単にスクリーンショットを挿入する方法