2010-09-15 109 views
2

我想從運行我的應用的設備獲取有關設備,操作系統等的一些信息。 我需要記錄這些數據,以便稍後可以運行一些診斷。有關設備,平臺等的信息

現在我認爲這個數據位於Microsoft.Win32.Registry但是這意味着我需要知道的所有訪問值的鍵。

有什麼想法?

+0

我不確定它是否存在於CF中,但通常'Environment'-Type有很多關於系統的信息。 – Bobby 2010-09-15 09:46:36

回答

4

這取決於你想要什麼信息,但你可能想的P/Invoke SystemParametersInfo與像SPI_GETOEMINFO,SPI_GETPLATFORMMANUFACTURER,SPI_GETPLATFORMNAME,SPI_GETPLATFORMTYPE和SPI_GETPLATFORMVERSION參數。

MSDN has an example here

編輯

這裏有一些價值你:

#define SPI_GETPLATFORMTYPE 257 
#define SPI_GETOEMINFO 258 
#define SPI_GETPROJECTNAME 259 
#define SPI_GETPLATFORMNAME 260 
#define SPI_GETBOOTMENAME 261 
#define SPI_GETPLATFORMMANUFACTURER 262 
#define SPI_GETUUID 263 
#define SPI_GETGUIDPATTERN 264 

對於版本我只是拉Environment.OSVersion.Version並比較this version list

+0

thanx再ctacke!我唯一的問題是獲取SPI_GETPLATFORMVERSION。也許我想錯了,但我需要得到什麼版本的操作系統是客戶端運行。我已經檢查winuser.h文件列出了這些東西,但我無法找到任何可以讓我獲得操作系統版本的東西。任何想法? – no9 2010-09-16 06:57:13

+0

我用System.Environment.OSVersion.Version.ToString()獲得了操作系統版本; Thanx再次ctacke! – no9 2010-09-16 11:08:38