-1

OS のバージョン、プロセッサとメモリの種類、インストールされているプログラムに関するデータなど、システムに関する基本的なデータを収集するアプリケーションを作成する必要があります... アプリケーションは c で記述され、Win Server 2000 および 2003 で動作します。 WinApi でしたが、これらのチュートリアルが見つかりません。見つかったすべてのチュートリアルは UserInterfaces に関するものであり、必要ありません。

そのため、どんな助けもいただければ幸いです。

編集: 以下にいくつかの回答があります。WinApi で WMI を使用しますが、Windows の .exe プログラムから詳細なプロパティを取得する方法がわかりませんか??

4

4 に答える 4

2

WMIは、いくつかのものに必要なものである可能性があります。楽しい API ではありません。Hans が参照しているツールは、生成された C# コードを C に移植する必要がある場合でも役立ちます。

次の Win32 API が役立つ可能性があります。

OS バージョン: GetVersionEx および OSVERSIONINFOEX

CPU 情報: cpuid (アセンブリで記述するか、コンパイラ組み込み関数を呼び出します)

代替 CPU 情報: HKLM\Hardware\DESCRIPTION\System\CentralProcessor のレジストリ キーを見てください (論理プロセッサごとに 1 つのサブキー、各キーは cpuid が返すもののキャッシュ + プロセッサ速度もリストされています)。

メモリ: GlobalMemoryStatusEx

于 2010-09-06T02:18:31.520 に答える
1

これは Winapi ではカバーされていません。WMI (Windows Management Instrumentation) が必要です。実行できる種類のクエリを開始するには、WMI Code Creatorツールを試してみてください。必要なコードを自動生成できます。C ではないため、WMI にとっては非常に厄介な言語であることがわかります。

于 2010-09-05T21:31:35.463 に答える
0

プロセッサ情報については、 GetLogicalProcessorInformationを呼び出します。

これはすべてのマシンでサポートされているわけではないことに注意してください。そのため、DLL を動的に呼び出す方が適切です。そうしないと、そのようなマシンでプログラムが実行されません。このは、これを行う方法を示しています

于 2010-09-07T08:06:37.423 に答える
0

おそらく、ボンネットの下を突くためのさまざまなクールなユーティリティを作成している同じ人々からの本Windows Internalsについても知りたいと思うでしょう。

于 2010-09-06T02:38:55.647 に答える