##前置き
作るきっかけ:IME切替が面倒
デフォルト言語が英語になっているため、英語MS-IMEは消せない...
サインインすると英語MS-IMEが優先される!!
まあ、Win+Space
で切り替えはできるから気にしてはいなかったのですが、
ついに面倒になった
ということで備忘録として残しておきます。
(消したときに困る)
##使用言語等
- C#
- .NET Framework 4.6.1
- Windows Forms App
##コード
結論とはなってしまうのですが
私が作ったコードを載せておきます。
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は手を付けておりません
解説(...?)
using System;
using System.Windows.Forms;
必要なのはこれだけで、
SendKeys.Send("+(%)");
this.Close();
SendKeys.Send("+(%)")
でShift + Alt
キーコマンドを送信、
this.Close()
でウィンドウを閉じています。
使い方
Ctrl + R
: shell:startup
を実行し、開いたフォルダにEXEファイルのショートカットを貼り付けてスタートアップに登録できます。
追記
スタートアップに登録すると、私の環境ではサインイン画面とログオン後のデスクトップの2回実行されているようで、元の戻ってしまう...
Windowsの仕様なのか?
作った意味はあまりなくなってしまった...
追記の追記
なぜか2回実行されていたのが1回になっていた。
謎は深まるばかり…
ソースコード等
こちらで公開しています。
https://github.com/a01sa01to/IMEChange