承接上篇結構定義,本文提供 SystemInfo 調用類別的完整實作,整合 WMI 查詢與 Win32 API 呼叫,涵蓋核心硬體識別碼獲取與系統環境資訊讀取。
Win32_Processor WMI 類別查詢 ProcessorId 屬性Win32_PhysicalMedia 獲取 SerialNumber,自動去除空白kernel32.dll 的 GetWindowsDirectory/GetSystemDirectoryEnvironment.OSVersion 對應 Windows 版本名稱 (含 95/98/ME/NT/2000/XP/Server 2003/Longhorn)透過結構體互操作調用 kernel32.dll:
GetSystemInfo → CpuInfo 結構 (處理器數量、類型、等級、OEM ID 等)GlobalMemoryStatus → MemoryInfo 結構 (物理/虛擬/分頁檔案 總量與可用量)GetSystemTime → SystemTimeInfo 結構 (年/月/日/時/分/秒/毫秒)[StructLayout(LayoutKind.Sequential)] 確保記憶體佈局與非受控代碼一致foreach 立即 break,避免多核/多盤重複賦值StringBuilder 緩衝區管理此類別可直接整合至授權驗證、資產管理、診斷日誌等需要硬體指紋與系統環境的場景。