メモリやCPUの情報を集めるには?

解決


ひろ  2005-05-10 02:36:03  No: 57311

仕事上必要となってVC++をいじり始めたC言語初心者です。
現在、PCのハードウェア情報を収集するプログラムを作ろうと
しているのですが、どう書けばよいのか全く判らず困っていま
す。
例えば、

・CPU種類、動作クロック
・搭載メモリ容量、空きメモリ容量
・搭載ハードディスク使用量、空き容量

などの情報を得たいのですが、どうプログラムすればよろしい
でしょうか?

サンプルプログラムなどありましたらお教えいただけませんか?
よろしくお願いします。


シャノン  2005-05-10 05:52:21  No: 57312

> ・CPU種類、動作クロック

WMI で取得できます。

> ・搭載メモリ容量、空きメモリ容量

GlobalMemoryStatus API で取得できます。

> ・搭載ハードディスク使用量、空き容量

GetDiskFreeSpaceEx API で取得できます。


ひろ  2005-05-10 19:00:42  No: 57313

早速のお返事ありがとうございます。
WindowsプログラミングもC言語も初めてなので、具体的にどう書けば
よいのか判らないのです。

ソースコードのサンプルなどお持ちでしたらお教えいただけませんか?


dark  2005-05-10 19:05:01  No: 57314

初心者云々よりも、
提示されたキーワードを元にWEB検索等はしてみたのでしょうか?


ひろ  2005-05-10 19:51:03  No: 57315

検索してみましたしヘルプも見てみたのですが、今ひとつよく判りません。
書籍などもWin32APIについての本やVCの入門書など、買ってみたのですが、
よく判らないのです。
希望の動作をする関数があることは書いてありますが、コードとしてどう
やって書き下せばいいのか具体的な説明が何もありません。
VCの入門書は画面のデザインの説明ばかりで、こういうシステム系の情報
を取得する方法についての言及がありません。

もし初心者にも判るように書いてある書籍やホームページなどをご存じで
したらそれでも結構です。

お教えいただけないでしょうか?


Blue  2005-05-10 20:01:00  No: 57316

>検索してみましたしヘルプも見てみたのですが、今ひとつよく判りません。
>書籍などもWin32APIについての本やVCの入門書など、買ってみたのですが、
>よく判らないのです。
Win32APIの書籍やヘルプは一通りC言語の知識を持っていることを前提で書かれています。

それがわからないならばC言語から勉強なされてみてはどうでしょうか?
(その場しのぎで解決法が見つかってもいずれ痛い目に会うかもしれません)

# それとあまり初心者を連呼しないほうがいいです。
# 初心者を免罪符にしているとおもわれますよ。


ひろ  2005-05-10 23:08:43  No: 57317

うーん…そうなんですが…
同時並行でC言語の勉強もしているのですが、期日が決まった仕事をいきなり押しつけられてしまっているので…
周囲に知っている人がいればいいのですが、残念なことにWindowsのAPIを使ったプログラムを理解している人が一人もおりません。

今までFORTRANを使った数値解析を10年くらいしてきて、いきなりCなので大変とまどっています。まあ、単純なDOS窓を使ったプログラムを作るだけなら何とかなりますけど、WindowsのAPIを使ったものとなるとよく判りません。

幸い、今回はユーザーインターフェースとは関係のない内部のロジックの部分です。システムの情報を読み取ってファイルに落とすという、単純なモジュールなので、それほど手はかからないと思います。

ただ、どの関数を使って、それをどうCALLするのか?といった、具体的な書き下し方がよく判らないのです。

こうすればCPUが判る、こうすれば搭載メモリ容量が判るなど、サンプルコードを見れば、少なくともどうやって書き下せばいいのか判るかなと思ったのですが…ネットを検索すればどこかにあるだろうと思ったのですが、なかなか見つからず困っております。

どなたか情報をご存じの方、お教え下さい。よろしくお願いします。


Blue  2005-05-10 23:20:33  No: 57318

GlobalMemoryStatus サンプル をキーワードに検索
MSD
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpmemory/html/_win32_globalmemorystatus.asp

GetDiskFreeSpaceEx サンプル をキーワードに検索
GoldFish
http://www.athomejp.com/goldfish/api/diskfree.asp

WMI サンプル VC をキーワードに検索
http://search.acty-net.ne.jp/mfc_search/archive/2003-1/msg01040.html

を参考にしてみては。
WMIについては私もさっぱりわからないですが。


ひろ  2005-05-11 00:06:04  No: 57319

ありがとうございました!そうか、MSDNを忘れていました。すみません。
これで何とかなりそうです。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加