首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Windows 程式設計:利用 dxdiag 取得使用者硬體與 OS 資訊

     編輯:關於.NET

診斷使用者機器問題時,硬體與 OS 資訊極有幫助。逐一查詢程式碼工作量大,可利用 Windows 內建 dxdiag.exe 產生報告再讀取。

範例代碼 (C++/Win32)

STARTUPINFO si = {sizeof(si), 0};
PROCESS_INFORMATION pi = {0};
TCHAR szCmdLine[MAX_PATH] = _T("dxdiag.exe /whql:off /t dxdiag_output.txt");
if (CreateProcess(NULL, szCmdLine, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi)) {
    WaitForSingleObject(pi.hProcess, INFINITE); // 等待 dxdiag 執行完成
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    HANDLE hFile = CreateFile(_T("dxdiag_output.txt"), GENERIC_READ, FILE_SHARE_READ,
                              NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile != INVALID_HANDLE_VALUE) {
        DWORD dwBytesRead = 0;
        char szBuffer[BUFFER_SIZE];
        ReadFile(hFile, szBuffer, BUFFER_SIZE-1, &dwBytesRead, NULL);
        // 解析 szBuffer 取得硬體/OS 資訊
        CloseHandle(hFile);
    }
}

參數說明:/whql:off 跳過 WHQL 簽名驗證加快執行,/t 指定輸出文字檔路徑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved