Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@a01sa01to

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

前置き

作るきっかけ: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
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What is going on with this article?