-2
我有一些問題(c#)。使用c獲取系統信息#
我可以檢索從Win32的踢腳線一些主板的信息,但是當我想型號 但累積的錯誤。
我們如何獲得Windows上安裝的軟件列表(如xp)。
我們如何獲得Windows上安裝的外圍設備列表(包括詳細信息)(如掃描儀,網絡攝像頭)。
如何獲得總數直接數量的公羊(剛)。
我有一些問題(c#)。使用c獲取系統信息#
我可以檢索從Win32的踢腳線一些主板的信息,但是當我想型號 但累積的錯誤。
我們如何獲得Windows上安裝的軟件列表(如xp)。
我們如何獲得Windows上安裝的外圍設備列表(包括詳細信息)(如掃描儀,網絡攝像頭)。
如何獲得總數直接數量的公羊(剛)。
使用WMI(我懷疑你已經在使用它):
型號爲空白。嘗試Manufacturer
屬性。同時獲取Product
屬性以獲取模型。
安裝的軟件:獲取Win32_Product
類。
嘗試Win32_PnPSignedDriver
類並重復遍歷。
使用Win32_ComputerSystem
類和得到TotalPhysicalMemory
財產。
獲取WMIEXPLORER並與之一起玩。LINK
樣品爲C#:
如果您需要連接到使用證書的遠程計算機(strUserName中和strPassword變量):
private ManagementScope CreateNewManagementScope(string server)
{
string serverString = @"\\" + server + @"\root\cimv2";
ManagementScope scope = new ManagementScope(serverString);
if (!chkUseCurrentUser.Checked)
{
ConnectionOptions options = new ConnectionOptions
{
Username = strUsername,
Password = strPassword,
Impersonation = ImpersonationLevel.Impersonate,
Authentication = AuthenticationLevel.PacketPrivacy
};
scope.Options = options;
}
return scope;
}
獲取服務:
private void GetServicesForComputer(string computerName)
{
ManagementScope scope = CreateNewManagementScope(computerName);
SelectQuery query = new SelectQuery("select * from Win32_Service");
try
{
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
{
ManagementObjectCollection services = searcher.Get();
List<string> serviceNames =
(from ManagementObject service in services select service["Caption"].ToString()).ToList();
lstServices.DataSource = serviceNames;
}
}
catch (Exception exception)
{
lstServices.DataSource = null;
lstServices.Items.Clear();
lblErrors.Text = exception.Message;
Console.WriteLine(Resources.MainForm_GetServicesForServer_Error__ + exception.Message);
}
}
從wmiexplorer一些屏幕:
你可以找到所有這些問題的答案已經在SO。 – 2014-11-02 08:29:49
雖然我回答了你應該讓你的問題更清楚你確實使用了WMI並提供了一個代碼示例。 – e4rthdog 2014-11-02 08:57:30
我發現第一個問題的答案 - 「模型是空白的」-tnx到e4rthdog – 2014-11-02 10:56:07