1

総メモリ、プロセッサの数、ハード ドライブの空き容量などのシステム情報を取得する方法を探していました。.system 呼び出しを使用せずに、カーネルにその情報を求めるにはどうすればよいですか?または、おそらくkernel.dllsを介したsystem_info構造?

4

1 に答える 1

0

SYSTEM_INFO「構造なし」と言ったことは知っていますが、 GetSystemInfoはまさにあなたが望むものだと思います。

MSDN のハードウェア情報の取得から:

    #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); 
    }

のドキュメントは、それが入っていることをGetSystemInfo具体的に示していKernel32.dllます-私は、ここでお金が止まると思います。

于 2012-04-21T17:23:07.343 に答える