推し活中のみなさん、こんなこと思ったことありませんか?
推しのマウスポインターを見つけて、せっかくなら仕事中も使いたい。
でも、打ち合わせやオンライン会議で画面共有するときに、そのまま映るのはちょっと恥ずかしい……。
かといって、毎回Windowsの設定画面を開いて「標準カーソルに戻す → 会議が終わったらまた推しカーソルに戻す」のも地味に面倒です。
そこで今回は、Windowsに登録されているマウスポインターのスキームを自動で取得し、番号を選ぶだけで切り替えられるバッチを作りました。
仕事中は推しカーソル、会議前は仕事用・標準カーソルとして保存したスキームへ。会議が終わったらまた推しカーソルへ。そんな使い方をできるだけ簡単にするのが、今回の「Mouse Cursor Switcher v6.1」です。
今回作ったMouse Cursor Switcher v6.1
起動すると、Windowsに登録されているカーソルスキームを自動で取得して一覧表示します。
==============================================
Mouse Cursor Switcher - Auto Detect v6.1
==============================================
Current : Asagiba_Nia
* = currently selected
* 1 - Asagiba_Nia
2 - Asagiba_Miku
3 - Default
4 - SampleCursor
S - Open Mouse Pointer Settings
D - Show Current Cursor Details
R - Refresh Scheme List
Q - Exit
Select:
切り替えたいスキームの番号を入力してEnterを押すだけ。現在選択中のスキームには * が表示されます。
このバッチでできること
- Windowsに登録済みのカーソルスキームを自動検出
- 数字を選ぶだけでカーソルスキームを切り替え
- 現在使用中のスキームを
*で表示 - よく使うスキームだけ上位に表示
- ワイルドカードを使った優先表示
- マウスポインター設定画面を直接起動
- 現在のArrow・Waitカーソルの参照先を確認
- 切り替え後にカーソルを即時再読み込み
最初は自分専用のバッチだった
このバッチは、もともと自分が使っている複数のカスタムカーソルを簡単に切り替えたくて作り始めました。
初期版では特定のカーソルシリーズを優先表示するようにしていたため、自分には便利でも、そのままでは他の人が使いにくい作りでした。
そこでv6では、基本はどんな登録済みカーソルでも使える汎用仕様にしつつ、必要な人だけお気に入りのスキームを上に並べられる形に変更しました。
お気に入りのカーソルだけ上に表示できる
ブログ公開版では、バッチの先頭にカスタマイズ用の設定を用意しています。
set "PRIORITY_SCHEMES=Asagiba_Nia|Asagiba_Miku"
この例では Asagiba_Nia と Asagiba_Miku を優先表示します。ここを自分の環境に登録されているスキーム名へ変更すればOKです。
優先表示が不要なら、次のように空欄にします。
set "PRIORITY_SCHEMES="
その場合は、Windowsに登録済みのカーソルスキームを通常の名前順で表示する自動検出ツールとして利用できます。
複数指定する
複数のスキームを指定するときは、| で区切ります。
set "PRIORITY_SCHEMES=Favorite_A|Favorite_B|Favorite_C"
シリーズ単位でまとめて指定する
* や ? のワイルドカードにも対応しています。
set "PRIORITY_SCHEMES=MyFavorite-*"
たとえば MyFavorite-A、MyFavorite-B のように同じ名前で始まるスキームをまとめて上位表示できます。
Windowsのカーソルスキームはどこに保存されている?
今回のバッチでは、現在のユーザーに登録されているカーソル設定をレジストリから取得しています。
HKEY_CURRENT_USER\Control Panel\Cursors
登録済みのカーソルスキーム一覧は、その配下にある次のキーから取得します。
HKEY_CURRENT_USER\Control Panel\Cursors\Schemes
そのため、バッチ内にすべてのカーソル名をベタ書きする必要はありません。Windowsへ新しいスキームを追加した場合も、一覧を更新すれば自動的に取得できます。
カーソル切り替えの仕組み
カーソルスキームには、通常選択・待ち状態・テキスト選択・リンク選択など複数のカーソルがセットで登録されています。
Arrow
Help
AppStarting
Wait
Crosshair
IBeam
NWPen
No
SizeNS
SizeWE
SizeNWSE
SizeNESW
SizeAll
UpArrow
Hand
Pin
Person
選択されたスキームの登録内容を読み込み、現在のカーソル設定へ反映することでスキームを切り替えています。
レジストリを書き換えただけでは即時反映されない
このバッチを作る中で少しハマったのが、レジストリを書き換えただけではカーソル表示がすぐ切り替わらないことがある点でした。
v6.1ではPowerShellからWindows APIの SystemParametersInfo を呼び出して、カーソルを再読み込みしています。
それでも再読み込みに失敗した場合は、rundll32.exe を使った更新処理へフォールバックするようにしています。
使い方
- Mouse Cursor Switcher v6.1を保存する
- Windowsに使いたいカーソルスキームを登録しておく
- バッチをダブルクリックして起動
- 表示された一覧から切り替えたい番号を入力
- Enterを押す
これだけで切り替えられます。会議前に仕事用・標準カーソルとして保存したスキームへ戻して、終わったら推しカーソルへ戻す、といった使い方ができます。
ショートカットから起動するとさらに楽
よく使うなら、ショートカットを作成してスタートメニューに登録しておくと便利です。
① .batファイルを好きな場所に置く
ZIPを展開したら、MouseCursorSwitcher_v6_1_Blog.bat はデスクトップ・ドキュメント・自作ツール用フォルダなど、分かりやすい好きな場所に置いてOKです。
② .batファイルのショートカットを作成する
MouseCursorSwitcher_v6_1_Blog.batを右クリックする- 「ショートカットの作成」を選び、作成されたショートカットを確認する
③ ショートカットをスタートメニューに置く
- Win + R を押して「ファイル名を指定して実行」を開く
shell:programsと入力して Enter- 開いた「プログラム」フォルダに、先ほど作成したショートカットを配置する
※必要なら「自作ツール」などのフォルダを作って整理してOKです。
④ ショートカットキーを登録する
- 作成したショートカットを右クリックして「プロパティ」を開く
- 「ショートカット」タブを開き、「ショートカット キー」欄をクリックする
- Ctrl + Alt + M を押して、「適用」→「OK」で保存する
設定後は Ctrl + Alt + M だけでMouse Cursor Switcherを起動できます。
保存済みカーソルスキームが1つもない場合
このツールが自動検出するのは、Windowsにカーソルスキームとして登録されているものです。保存済みスキームが1つもないPCでは、次のような画面が表示されます。

表示まで時間がかかる場合があります
今回の検証端末では、保存済みカーソルスキームがない状態で実行した際、結果が表示されるまで約2分かかるケースがありました。環境によって差があるため、起動直後に黒い画面のままでも、すぐに閉じず少し待ってみてください。
この表示が出た場合は、先にWindows側でカーソルスキームを1つ保存します。
- Win + R を押して「ファイル名を指定して実行」を開きます。
main.cplと入力してEnterを押します。- 「ポインター」タブを開き、使用したいカーソルを設定します。
- 「名前を付けて保存」を押して、任意のスキーム名で保存します。
- Mouse Cursor Switcher v6.1をもう一度実行します。
.cur や .ani ファイルをフォルダーへ置いただけの場合は一覧には表示されません。マウスポインターの設定画面からスキームとして登録されていることを確認してください。
配布するものとカーソル素材について
本記事で配布するのはカーソル切り替え用のバッチファイルのみです。
キャラクター画像、.cur、.ani など、第三者が制作したカーソル素材は含みません。使用するカーソル素材については、それぞれの作者・配布元の利用規約を確認してください。
Mouse Cursor Switcher v6.1のダウンロード
ダウンロードしたファイルはZIP形式です。ダウンロード完了後にZIPファイルを右クリックして「すべて展開」し、展開したフォルダ内のバッチファイルを使用してください。
展開後のファイル名:MouseCursorSwitcher_v6_1_Blog.bat
ブログ配布版は Asagiba_Nia と Asagiba_Miku を優先表示する設定例になっています。必要に応じて PRIORITY_SCHEMES を自分のスキーム名へ変更してください。
.png)
まとめ
最初は「推しカーソルを使いたいけど、会議の画面共有ではサッと仕事用・標準カーソルへ戻したい」という自分用のツールとして作り始めました。
最終的には、Windowsに登録されているカーソルスキームを自動取得し、お気に入りだけ優先表示できる汎用ツールになりました。
推し活と仕事を両立したい人、複数のカーソルスキームを気分で切り替えている人には、かなり便利だと思います。
推しは推したい。でも会議では隠したい。 そんなときに使ってみてください。

コメント