Windows2000 の電源管理を XP相当にアップグレードする
日本語112キーボードには日本語109キーボード(106+左右Windowキー+アプリケーションキー)に加えて、ACPIキーといわれる(電源、スリープ、ウェイクアップの)3つのキーが追加されています。
ところが、この電源キーを過って押してしまうと有無を言わさずPCがシャットダウンしてしまうので、困ったことになります。
実はXPにはコンピューターの電源ボタンを押したときに『なにもしない』を選ぶことが出来ます。
そこで、Windows2000でも、この設定をしてみようと思い立ったわけです。
まず、XPのSP3をダウンロードした後、 /x オプションをつけて解凍し、
powercfg.ex_
powercfg.cp_
powrprof.dl_
xpsp2res.dl_
の4つのファイルを取り出し、EOなどで解凍します。
これを、\WINNT\system32 へコピーするのですが、powrprof.dllはそのままだと上書きコピーできないので、回復コンソールで解凍するか、SRCPY を使用します。
再起動後、コマンドプロンプトから POWERCFGが実行できることを確認してください。
C:\Documents and Settings\Admin>powercfg /LIST
Existing Power Schemes C:\Documents and Settings\Admin>powercfg /QUERY 9 /NUMERICAL Field Description Value |
Windows2000にはプロセッサパフォーマンス制御機能はないので、非サポートと表示されますが、これは各Freesoftで対応できます。
次に電源オプションを開いてみましょう。
『入力を求める』も追加されますが、選んでも『何もしない』と同じになってしまうので、設定しないで下さい。
試してみたところ、『何もしない』が使えるようになりました。
ちなみに、電源を数秒長押しすれば、強制切断というのは生きています。
OSをクリーンインストール後にUpdateし終わった状態で、
記事の通りにやってみたんですが、/LISTや/Queryで記事のような表示が出てきません。
一応電源オプションで「なにもしない」は出てくるのですが
『電源のポリシーマネージャーは利用中のポリシーを設定できません 指定されたファイルがみつかりません』というダイアログが出てきてしまいますorz
KDllInst のEzKDRegistryのチェックは入っていますか?
再起動後うまく行かなければ、使ったバイナリのバージョンチェックしてみて下さい。
kdllinstのEzKDレジストリのチェックは入ってます。
がだめでした。
これは起動させてチェックを入れて再起動させるだけでよいでしょうか?
バイナリのVersion(はこれでいいのかな)
powercfg.cpl 6.0.2900.5512
powercfg.exe 5.1.2600.5512
powrprof.dll 6.0.2900.5512
になってました。
WindowsXP-KB936929-SP3-x86-JPN.EXEから取り出したものです。
ちゃんと、そのバージョンのファイルがsystem32にコピーできてますか?
はい、できています。
DLLもSRCPYを使ってちゃんと元ファイルとの入れ替えはできています。
お手数ですが、実際に行った手順を書き出していただけますか?
遅くなりました。
・HDDフィーマット後、Windows2000クリーンインストール
・MSUPDATE項目がなくなるまで全部入れる
・MS.Framework2.0SP2関係入れる
・SP2関係のFix入れる
・各種ツール類インストールと設定(fcwin2k、kdllinstの設定もここで)
・XPSP3から抜き出し待避させておいた対象ファイルを一旦作業フォルダにCOPY
(記事通り /x オプションをつけて解凍、取り出したものをeoで解凍したもの)
・powercfg.cpl、powercfg.exeを\WINNT\system32へCOPY
・SRcpyでpowrprof.dllを上書きCOPYの後再起動
(保護されたファイルのコピー削除を許可するにチェック済み)
・コマンドプロンプトからpowercfg /LIST
(ここで記事の表示は出てこない)
・powercfg /QUERY 9 /NUMERICAL
(ここで何も出てこず)
・コントロールパネルの電源オプション、詳細設定では「何もしない」「入力を求める」が出てきている状態
設定してみると
『電源のポリシーマネージャーは利用中のポリシーを設定できません 指定されたファイルがみつかりません』 が表示される。
こんな感じです。
/query 9 の「9」は環境によって数字が変わりますので適宜変更してください。
なお、powercfg.exe の実行には、xpsp2res.dll が必要であることがわかりました。
system32にコピーして使ってみてください。
おかげさまでPoewrcfg.exeは使用できるようになりましたが、相変わらずファイルがありませんの表示は出てきます。
ですが、powrprof.dllを元のVersionに置き換えると表示は出てこなくなり、設定自体も出来ているようです。
キーボードのPowerキーを押してもシャットダウンしなくなりました。
とりあえずの目的は達成されたので、このまま使ってみようと思います。ご指導ありがとうございました。