2012-04-21 14 views
1

私はシステム情報を入手する方法を探していました。メモリの総量、プロセッサの数、ハードドライブの空き容量など。カーネルにその情報を尋ねていますが、おそらくkernel.dllを介して.system呼び出しやsystem_info構造を使わずにC++からどうやって管理しますか?多くの情報がシステムコールを使用していますが、システム情報を取得する必要がありますが、作成したライブラリを使用する必要はありません。コンピュータのデバイスに関する情報はどのように入手できますか?

+0

@ WalterMaier-Murdnelchこれらのコメントを投稿する場合は、コミュニティが決定した場合に質問*を自動的にそこに移すことができ、**それらを再投稿するべきではないことをOPに伝えてください。通常、コミュニティにはこれにはプログラミングが含まれていることがわかり、ユーザーはとにかく投票を終了するので、「これはXYZ.SEにあるはずです」というコメントはほとんどありません。乾杯! – slhck

+0

@slhck:ack、これからもそうする – Baarn

答えて

0

あなたは "SYSTEM_INFO構造なし"と言っていますが、私はGetSystemInfoがまさにあなたが望むものだと思います。 MSDNのGetting Hardware Informationから

GetSystemInfoため

#include <windows.h> 
    #include <stdio.h> 
    #pragma comment(lib, "user32.lib") 

    void main() 
    { 
     SYSTEM_INFO siSysInfo; 

     // Copy the hardware information to the SYSTEM_INFO structure. 

     GetSystemInfo(&siSysInfo); 

     // Display the contents of the SYSTEM_INFO structure. 

     printf("Hardware information: \n"); 
     printf(" OEM ID: %u\n", siSysInfo.dwOemId); 
     printf(" Number of processors: %u\n", 
      siSysInfo.dwNumberOfProcessors); 
     printf(" Page size: %u\n", siSysInfo.dwPageSize); 
     printf(" Processor type: %u\n", siSysInfo.dwProcessorType); 
     printf(" Minimum application address: %lx\n", 
      siSysInfo.lpMinimumApplicationAddress); 
     printf(" Maximum application address: %lx\n", 
      siSysInfo.lpMaximumApplicationAddress); 
     printf(" Active processor mask: %u\n", 
      siSysInfo.dwActiveProcessorMask); 
    } 

ドキュメントはspeficallyそれはKernel32.dllにだことを示している - 私はバックがここに停止すると思います。

関連する問題