2
2

More than 5 years have passed since last update.

C#でIMEを切り替えてみる

Last updated at Posted at 2018-10-28

前置き

作るきっかけ:IME切替が面倒

私はGoogle日本語入力を使用していて、PCの言語設定は英語です、
なので、
2つIMEが存在しています(GoogleとMS-IME、日本語MS-IMEは削除できた)。
2つのIME

デフォルト言語が英語になっているため、英語MS-IMEは消せない...

サインインすると英語MS-IMEが優先される!!

まあ、Win+Spaceで切り替えはできるから気にしてはいなかったのですが、
ついに面倒になった


ということで備忘録として残しておきます。
(消したときに困る)

使用言語等

  • C#
  • .NET Framework 4.6.1
  • Windows Forms App

コード

結論とはなってしまうのですが
私が作ったコードを載せておきます。

Form1.cs

using System;
using System.Windows.Forms;

namespace InputChanger
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        protected override void OnLoad(EventArgs e)
        {
            SendKeys.Send("+(%)");
            this.Close();
        }
    }
}

ちなみにUIはこのように
UI
変更したらウィンドウが閉じるため、UIは手を付けておりません

解説(...?)

using System;
using System.Windows.Forms;

必要なのはこれだけで、

SendKeys.Send("+(%)");
this.Close();

SendKeys.Send("+(%)")Shift + Altキーコマンドを送信、

this.Close()でウィンドウを閉じています。

使い方

Ctrl + Rshell:startupを実行し、開いたフォルダにEXEファイルのショートカットを貼り付けてスタートアップに登録できます。

追記

スタートアップに登録すると、私の環境ではサインイン画面とログオン後のデスクトップの2回実行されているようで、元の戻ってしまう...
Windowsの仕様なのか?
作った意味はあまりなくなってしまった...

追記の追記

なぜか2回実行されていたのが1回になっていた。
謎は深まるばかり…

ソースコード等

こちらで公開しています。
https://github.com/a01sa01to/IMEChange

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2