パフォーマンスカウンタが無効です   2005/06/22 (Wed)  01:21  [Mess With]

C#のプログラムの実行時に「プロセス パフォーマンス カウンタは無効にされているため、要求された情報を実行できません」というエラーが発生する場合があるのですが、調べてみたところ、Windows2000でSP3を当てたりすると発生することがあるようです。

マイクロソフト サポート技術情報 - 436445に対処方法が載っていますが、修正パッチを当てるのもなんだかあてにならない、ということで、さくっとレジストリで対処してしまいましょう。PerfProc.zip を解凍して「PerfProc.reg」を実行するだけです。

PerfProc.regで修正している場所は

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance

のレジストリキー内の「Disable Performance Counters」の値です。この値が1になっていると、パフォーマンスカウンタが無効になりエラーが発生するようです。この値を0に修正するだけです。

No TrackBack.
 Posted by Chuhbachi  2009/04/08 (Wed) 16:11:35
記載の項目が無くても、このエラーが発生しており、Disable Performance Countersを新規追加して、「0」を設定しても改善できませんでした。
ほかに対応をご存知ではありませんでしょうか。
 Posted by Chuhbachi  2009/04/08 (Wed) 16:25:15
補足いたします。
WindowsXP Pro SP2
VB.NET2003

エラー発生コードは以下の通りです。
If UBound(Diagnostics.Process.GetProcessesByName( _
Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
'すでに起動していると判断する
MsgBox("多重起動はできません。")
'終了させるコードを書いてください
Application.Exit()
End

また、手動ではなく、「PerfProc.reg」でも同様でした。
 Posted by shela  2009/04/18 (Sat) 16:26:02
OS のバージョン違いということで、Disable Performance Counters の件とは違うみたいですね。
申し訳ないですが解決策は存じておりません。

writeback message: Thanks for your Comment!