程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Windows編程之利用dxdiag獲取用戶機器硬件及OS信息

Windows編程之利用dxdiag獲取用戶機器硬件及OS信息

編輯:關於.NET

診斷用戶機器上出現的問題的時候,機器的硬件以及OS信息是非常有幫助的。 檢查機器上各個硬件信 息的代碼工作量非常大, 這裡介紹一個快速便捷的方法: 利用windows自帶工具dxdiag.exe 來生成硬件 檢測的報告,然後讀取報告文件即可。

示例代碼如下:

    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.exe 執行結束
        CloseHandle (pi.hProcess);
       CloseHandle (pi.hThread);

        //讀取dxdiag_output.txt  文件 ,獲取用戶機器的硬件/OS信息
        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);

          ...

          }
          CloseHandle(hFile);
     }
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved