Windows10のパソコンを使用しているとタスクバーから言語バーが消えてしまうことがあります。オプション画面・メニュー画面などが開きにくくなってしまうだけでなく、原因によっては日本語入力そのものができなくなってしまうこともあります。
テキストサービスプログラムを再起動するなどの方法で解決できることもありますが、起動する度に言語バーが消えてしまうようでは毎回同じ操作をすることになり厄介です。
本記事では、Windows10で言語バーが再起動する度に消えるトラブルの原因と対処法について紹介します。
この記事の内容
言語バーが消える原因
言語バーの設定間違いなどが原因になることもありますが、突然消えてしまったというようなケースではWindowsの不具合であることが多いようです。
もしこのような症状が見られる場合はまず言語バーの基本的な設定の見直しとWindowsのアップデートを行ってみてください。
どちらを試しても改善しないようであれば本記事で紹介する各種対処法を試してみてください。
対処1: Windowsをアップデートする
Windowsの不具合であればアップデートで解決する可能性が高いです。
次のMicroosft公式ページの情報を参考にWindowsを最新版にアップデートしてください。
対処2: 言語バーの設定を見直す
次の手順で言語バーの表示設定を確認します。
- タスクバーにある「スタート」ボタンをクリックします。
- スタートメニューが表示されたら「設定(歯車アイコン)」をクリックします。
- 「Windowsの設定」画面が表示されます。「デバイス」をクリックします。
- 左のメニューリストにある「入力」をクリックします。
- 画面右側を下へスクロールし、「キーボードの詳細設定」をクリックします。
- 「言語バーのオプション」をクリックします。
- 「テキストサービスと入力言語」ウィンドウが表示されます。「言語バー」タブの中にある「タスクバーに固定する」の項目を確認し、チェックが入っていなければチェックを入れます。
- 同じく「言語バー」タブの中にある「言語バーアイコンをタスクバーで表示する」の項目を確認し、チェックが外れていればチェックを入れます。
- 「適用」ボタンを押してから「OK」をクリックしてウィンドウを閉じます。
続いて個人用設定の項目も確認します。
- 「スタート」→「設定」をクリックして「Windowsの設定」画面を表示します。
- 「個人用設定」をクリックします。
- 左のメニューリストから「タスクバー」をクリックします。
- 「システムアイコンのオン/オフの切り替え」をクリックします。
- 「入力インジケーター」の項目を確認し、スイッチがオフになっていればオンに切り替えます。
対処3: ctfmon.exeをスタートアップに登録する
ctfmon.exeはテキストサービスプログラムです。通常Windows起動時に自動で起動しますが、何らかの理由でこのサービスが正常に動作していないと言語バーが表示されない・日本語入力ができない等のトラブルを起こすことがあります。
対策はいくつかありますが、手動でこのサービスをスタートアッププログラムに登録する方法が簡単です。次の手順で設定を行ってみてください。
- スタートアップフォルダを開きます。エクスプローラで次のフォルダを開いてください。
C:\ユーザー\(ユーザー名)\AppData\Roaming\Microsoft\Windows\スタートメニュー\プログラム\スタートアップ
- (ユーザー名)の部分はお使いのWindowsアカウント名に差し替えてください。
- AppDataフォルダは隠しフォルダになっているため、もし該当フォルダが表示されない場合は隠しフォルダの表示オプションを有効にしてください。
- スタートアップフォルダを開いたらフォルダ内の空欄上で右クリックし、「新規作成」→「ショートカット」を選択します。
- 「項目の場所を入力してください」の欄に次のパスを入力します。Windowsのバージョンがわからない場合は32bit版の方のパスを使用してください。
- 32bit版Windowsの場合
C:\Windows\System32\ctfmon.exe
- 64bit版Windowsの場合
C:\Windows\SysWOW64\ctfmon.exe
- 32bit版Windowsの場合
- 「次へ」をクリックします。「このショートカットの名前を入力してください」の項目はデフォルトの「ctfmon」のままにして「完了」をクリックします。
これでスタートアップの登録は完了です。パソコンを再起動し、問題が解決したか確認します。
対処4: レジストリを編集する
上記の『対処3: ctfmon.exeをスタートアップに登録する』の方法が使えない場合、レジストリ編集でctfmon.exeが起動するように設定します。
- 「スタート」ボタンを右クリックし、「ファイル名を指定して実行」を選択します。
- 「ファイル名を指定して実行」ウィンドウにregeditと入力し、OKをクリックします。
- レジストリエディターが起動します。編集を行う前に「ファイル」→「エクスポート」を選択してバックアップを作成します。
- レジストリバックアップの作成及びバックアップからの復元について詳しくは次のリンク先をご参照ください。
- レジストリバックアップの作成及びバックアップからの復元について詳しくは次のリンク先をご参照ください。
- バックアップを作成したら、ウィンドウ左側のツリーまたはアドレスバーを使用して次のフォルダを開きます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- レジストリエディタウィンドウ右側の空白部分を右クリックします。右クリックメニューが表示されたら「新規」→「文字列値」を選択します。
- ファイルが作成されたら、ファイル名をCTFMONに変更します。
- 内容がわかりやすいものであれば別の名前でも構いません。
- 作成された項目(CTFMON)を右クリックし、「修正」を選択します。
- 「値のデータ」の欄に次の内容を入力します。
- 32bit版のWindowsの場合
C:\Windows\System32\ctfmon.exe
- 64bit版のWindowsの場合
C:\Windows\SysWOW64\ctfmon.exe
- 32bit版のWindowsの場合
- 上記のパスを入力したら「OK」をクリックして保存します。
- パソコンを再起動し、問題が解決したか確認します。
対処5: TextServicesFramework monitorを有効にする
言語バーのトラブルではctfmon.exeの他にテキストサービスフレームワークが原因として考えられます。
ここまでの対処方法を試しても効果がない場合には、次の方法でテキストフレームワークを有効にしてみてください。
- タスクスケジューラを起動します。「スタート」ボタンを右クリックし、「ファイル名を指定して実行」を選択します。
- 「ファイル名を指定して実行」ウィンドウにtaskschd.mscと入力して「OK」をクリックします。
- タスクスケジューラウィンドウが表示されます。ウィンドウ上部のメニューバーにある「表示」をクリックし、「非表示になっているタスクを表示」の項目にチェックを入れます。既にチェックが入っている場合は変更の必要はありません。
- ウィンドウ左側にあるフォルダをダブルクリックで展開し、次のフォルダまで辿ります。
タスクスケジューラライブラリ\Microsoft\Windows
- Windowsツリー内から「TextServicesFramework」の項目を探し、これをクリックします。
- 画面中央にMsCtfMonitorの項目が表示されます。「状態」欄を確認し、もし「実行中」以外の状態であればMsCtfMonitorを右クリックし、「実行する」を選択します。
- これで操作は完了です。タスクスケジューラを閉じます。
もし上記の方法で解決しない場合は、レジストリ編集による解決を試します。
- 「対処④レジストリを編集する」の手順1~3と同じ手順でレジストリエディターを開きます。バックアップも同様に作成してください。
- ウィンドウ左側のツリーを使って階層を辿り、次のディレクトリを開きます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\TextServicesFramework\MsCtfMonitor
- 「MsCtfMonitor」をクリックしたらウィンドウ右側のリストにある「Index」の項目を調べます。
- 「データ」の列を確認し、もし「0x00000002 (2)」以外の数値が設定されている場合は右クリックして「修正」を選びます。
- 「値のデータ」を2に変更して「OK」をクリックします。
- パソコンを再起動し、問題が解決したか確認します。
解決しない時は
ここまでの全ての対処で解決しない場合は、別の入力ツールを使うか、Windowsシステムそのものの修復が必要です。次の方法を試してみてください。
- Google日本語入力など、別のIMEで代用する
- パソコンをクリーンブートする
- Windowsをクリーンインストールする