2005年07月25日

Win32プロセス情報をまるごと取得する方法

WindowsNT、2000、XP
上で動作する各プログラムの
CPU使用率、メモリ使用量、優先順位、
ハンドル数、スレッド数などを取得するには、
どうすればよいか悩んだことかはありませんか?

Win32SDKのヘルプを見ても、
残念ですが、その解決方法は記載されておりません。
ところが、実際に各プロセスの上記情報を取得できる
非公開の(隠された)APIが存在するのです。

我々がMicrosoftOfficeと同等の
ワープロや表計算ソフトをつくったとして、
それらソフトはオリジナルよりも高速に
動作するでしょうか?
おそらく答えは「No」ではないでしょうか。
そこには我々が知り得ない
数々の非公開テクニックがあるからです。

ではさっそく、そのプログラムを公開しましょう。
今回あなたが実際にプログラムを実行して確認出来るように、
Delphiソースを、すべて公開しますから、安心してくださいね。

このプログラムは、
Windowsのタスクマネージャのプロセス一覧と
ほぼ同等の機能を持っています。
約1秒間隔で、Windowsが管理するプロセス情報から、

「NtQuerySystemInformation」

という隠れAPI関数で、各プロセスの情報を取得し、
各プロセスの一覧を作成し表示します。
あとおまけで、
OSのCPU使用率、物理メモリの使用率、
ディスクの使用率の各傾向を、
グラフでビジュアルに表示します。

全ソースは【続きを読む】をクリック!

この記事を読んで役に立ったと思うあなた、
私にビール1本おごってくださいね。(笑い)


【画面イメージ】

WTM24.gif

関連書籍

Copyright guy@かしらもんじ でぇ〜

続きを読む
posted by guy at 07:52 | 運用管理編

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。