タグ「有効」が付けられているもの

最近のパソコンはBIOS(UEFI)で起動時のNumLockの有効/無効の設定ができないものがあるようです。

Windowsパソコンにログインでパスワードを入力しようとするとき、いつもNum Lockをオンにすることを忘れていてイラっとすることがあります。いちいちNum Lockボタンを押さなくてもいいようになんかいい方法がないかと探してみたらレジストリの設定でできることがわかりましたのでメモ。

Windows10/8.1/7共にレジストリの場所は共通のようです。(値は違いがあるようです。)

レジストリ

  • HKEY_USERS\.DEFAULT\Control Panel\Keyboard

ここにあるInitialKeyboardIndicatorsの値を変更します。

Windows10/8.1

2147483648(デフォルト)

 ↓

2147483650(NumLock有効)

(または2でもいいみたいです。)

Windows8

2147483648(デフォルト)

 ↓

80000002(NumLock有効)

(または2でもいいみたいです。)

Windows7

2147483648(デフォルト)

 ↓

2(NumLock有効)

0(NumLock無効)

ログオン前とログオン後

ログオン前の設定はHKEY_USERS\.DEFAULTをいじればいいみたいですが、ログオン後のNum LockはHKEY_CURRENT_USER\Control Panel\KeyboardにあるInitialKeyboardIndicatorsをいじればいいようです。

ちなみに、HKEY_USERS\.DEFAULTでは2147483648となっているのにHKEY_CURRENT_USER\Control Panel\KeyboardInitialKeyboardIndicatorsを見てみると2になっていました。

まだ試してないのでわからないのですが、Num Lockをオンにする数値は214748365080000002でなくても2だけでいいのかもしれません。

使用しているパソコン(Windows8.1)がなぜか毎回起動するとネットワークが接続されていない状態になるので、その度にデバイスマネージャーを開いてネットワークカードを無効・有効にしています。

毎回この作業をするのが面倒くさくなってきたので、簡単にできないかな?と調べたら特定のハードウェアをコマンドで操作するバッチファイルの作り方がありました。Windows Driver Kit (WDK) に含まれるdevcon.exeというものをコマンドで操作すればいいようです。

これを使えば、いろんなデバイスを必要な時だけ簡単にON・OFFができて便利そうです。

Windows Driver Kit (WDK)をインストール

まずはマイクロソフトの以下のページからWindows Driver Kit (WDK)をダウンロードしてインストールすることが必要です。今回の場合はWindows 8.1 Update用をダウンロードしました。インストールするとdevcon.exeC:\Program Files (x86)\Windows Kits\8.1\Tools\の中に32ビット・64ビット用がそれぞれ保存されています。

ハードウェアIDを調べる

ハードウェアを操作するためのバッチファイルでハードウェアIDが必要になりますので調べます。

  1. デバイスマネージャーで対象のハードウェアのプロパティを開く
  2. 「詳細」タブの「プロパティ」の欄をハードウェアIDにする
  3. 表示された値をコピーする

バッチファイルを作る

テキストエディタを開き、以下のようにコマンドを作成し、先ほどコピーしたハードウェアIDを貼り付けて、○○.batというように拡張子をbatにして保存します。

:: devcon.exeのパス(OSが64bitの場合)
@set DEVCON="C:\Program Files (x86)\Windows Kits\8.1\Tools\x64\devcon.exe"
 
:: ネットワークカードの無効と有効
:: Intel(R) 82578DC Gigabit Network Connection

%DEVCON% disable "PCI\VEN_8086&DEV_10F0&SUBSYS_00751B0A&REV_05"
%DEVCON% enable "PCI\VEN_8086&DEV_10F0&SUBSYS_00751B0A&REV_05"

管理者として実行

バッチファイルの実行は管理者として実行しないと有効に動作しません。

なので起動時や定期的に実行したい場合はスタートアップに登録するのではなくタスクスケジューラに登録し管理者権限で実行するように設定することが必要です。

その他参考

Vistaを導入して、XPで使っていたアプリをインストールしていくうちに

スタートアップに登録した「RealVNCサーバ」がVistaのUACとかいうやつブロックされて

スタートアップできない状況に陥った。

 

このUACを無効にすることで回避はできるが、

なんだか他のことで何か悪いことがおこりそうで不安。

なおかつ、セキュリティー上よくないよみたいなメッセージがでてきて面倒くさい。

 

なんとかUACを有効なまま、

スタートアップに登録したアプリを起動させたいと調べたら

「タスクスケジューラ」で解決できることが分かった。

 

場所は

「すべてのプログラム」-「アクセサリ」-「システムツール」-「タスクスケジューラ」

 

画面右の「基本タスクの作成」でウィザードに従って内容を記入するとOK

ちなみにRealVNCの場合。

 

【名前】RealVNC4

【説明】RealVNCサーバの起動

【トリガ】コンピュータの起動時

【操作】プログラムの開始

【プログラム】"C:\Program Files\RealVNC\winvnc4.exe"

【引数の追加】-noconsole

 

これで無事解決。

 

タスクスケジューラと言えばWindows95やWindows98の時代に使用していた記憶があります。

 

その他ですが、

サービスを簡単に登録できるフリーソフトもついでに見つけました。

今回のRealVNCには使えませんでしたが、

他のことに使えそうです。

 

ServiceInstaller
http://www.vector.co.jp/soft/winnt/util/se268387.html

とにかく解決できてよかったです。