cygwinやMinGWにpdh.hが含まれていないらしいので、Windows SDKを入れてみました。
WinSDK-x86.msi
WinSDKBuild-x86.msi
WinSDKDocWin32-x86.msi
WinSDKWin32Tools-x86.msi
なぜpdh.hが必要かといえば、Windowsタスクマネージャの代わりにコンソールでCPU使用率順のプロセス一覧を表示させたいから。試しにC#で書いてみたら、それ自体が2%もCPUを使うので本末転倒。仕方なくネイティブで書くことになりました。
…と思ったら、なぜかv6.0Aがすでにインストールされていました。(v6.0が今回入れた物)
しかもcygwinでmakeしてもエラーばかりで全然通らない。仕方ないのでVisual C++ 2008 Express Editionに切り替えてみた。普通にWin32コンソールアプリケーションがある…
pdh.hもpdh.libもある…
ということでcygwinを捨ててVC++になりました。前は.NETじゃないとセットアップが面倒だった気がしますが、最近のMSは粋なことをしてくれます。
IDEが重いしviキーバインドにならないのと、非マネージドのインテリセンスがあまり便利じゃないのが玉に瑕ですが。
遊んでいる暇は無いのに…最近コーディングしてないので、雨模様ということもあって土日を使ってしまいそう。
とりあえず400プロセス以内、2コアに対応し、PIDとCPU使用率、イメージ名を1秒おきに書き続けるtopもどきが出来ました。
LLになれるとC++でソートとか面倒すぎる…
一応zip置いておきます。wintop.zip
Cygwin等の\fで画面クリアが効く端末でないと使えません。

No Comments yet »
コメント RSS TrackBack URI
コメントをどうぞ