G HUBのアップデートがあると一度無効にしたバーチャルマウスが勝手に有効になってしまいます。
さらに鬱陶しいことに意外とG HUBの更新が多い・・・・・・
たいして時間が掛かる設定ではないですが、何度も同じ設定をさせられるのは面倒ですよね?面倒です。
幸いなことにWindowsに標準で搭載されているWindows PowerShellを使用することで
スクリプトによるデバイスの無効化が可能になりますので、今回はPC起動時(ログオン時)にバーチャルマウスを無効にする設定をしていきます。
デバイスの検索
マウスとそのほかのポインティングデバイス側のバーチャルマウスをデバイス名で検索するのは難しいので
ヒューマンインターフェースデバイス側のバーチャルマウスを無効にしていきます。
PowerShellでデバイスの取得
スタートボタンを右クリックしWindows PowerShell (管理者) を実行します。
出てきたウィンドウで下記のコマンドを実行してください。
Get-PnpDevice | ? {$_.friendlyname -like '*Virtual Mouse*'}
実行後、このような画面が出てくれば大丈夫です。次に進んで下さい。
赤文字で何か表示されている場合はコマンドのミスの可能性が高いです。
タイプミスがないか、もう一度確認してみて下さい。
スクリプトの作成
デバイスの取得が出来ることが確認出来たので、スクリプトを作成します。
新規テキストを作成し、コマンドを入力。
Get-PnpDevice | ? {$_.friendlyname -like '*Virtual Mouse*'} | Disable-PnpDevice -Confirm:$false -ErrorAction SilentlyContinue
ファイル名をMouseStop.ps1にして保存してください。
スクリプトの動作確認
次に、コマンドが問題なく動作するかを確認します。
Windows PowerShell (管理者)で先程のコマンドを実行します。
コマンドを実行後、この様な画面が出てくれば大丈夫です。
次に問題なくデバイスが無効化されているか確認してください。
デバイス左横のロゴに ↓ のようなマークが出ていれば成功です。
自動化の設定
コマンドを一々手動で実行するのは面倒なので、タスクスケジューラを利用しPC起動時(ログオン時)に自動で実行するように設定していきます。
ウィンドウを非表示にする
先程作ったファイルを実行すればとりあえず設定は終わるのですが、PowerShellは実行時にウィンドウが表示されてしまうので、
ついでにそのウィンドウを非表示にするスクリプトも合わせて用意します。
テキストを新規作成しコマンドを入力。
var shell = WScript.CreateObject("WScript.Shell");
var args = WScript.Arguments;
var cmd = ""
for(var i=0; i < args.length; i++) {
cmd += " " + args(i)
}
var ret = shell.Run("powershell.exe -ExecutionPolicy RemoteSigned -File" + cmd, 0, true);
WScript.Quit(ret);
ファイル名をNoWin.jsにして保存してください。
作成したMouseStop.ps1とNoWin.jsの2つをCドライブ内にあるtempに入れて下さい。
タスクスケジューラへの登録
ここまでくれば後はタスクスケジューラへ登録して終わりです。
スタートボタン+Rキー を押して ファイル名を指定して実行
taskschd.msc と入力し、タスクスケジューラを開きます。
左側のタスクスケジューラ ライブラリのフォルダを選択した状態で、右側の新しいフォルダーを作成。
フォルダ名は何でもいいですが、今回はとりあえずわかりやすいようにGHUBで作成しました。
その後、今作ったフォルダ内に新しいタスクの作成し、下記の画像通りに設定してください。
- 名前:MouseStop
- 左下にある最上位の特権で実行するにチェックを入れる
- タスクの開始:ログオン時
- 設定:特定のユーザー
- 遅延時間を指定する:1分間
- プログラム/スクリプト:wscript
- 因数の追加(オプション):NoWin.js MouseStop.ps1
- 開始(オプション):c:\temp
- タスクを停止するまでの時間:1時間
- タスクがすでに実行中の場合に適用される規則:既存のインスタンスの停止
これで設定は終わりです!
[ads-01]
コメント