下面的这些代码应该是Delphi写的吧,本来想自己翻译成C#,但是试了半天,还是无能为力我,所以大家帮帮我.procedure TForm1.BitBtn1Click(Sender: TObject);
var
Locator: OleVariant;
WMI: OleVariant;
RET: OleVariant;
Enum: IEnumVariant;
Tmp: OleVariant;
Value: Cardinal; s: string;
begin
Memo1.Lines.Clear;
Locator := CreateOleObject(''WbemScripting.SWbemLocator'');
WMI := Locator.ConnectServer(''.'', '''', '''', '''');
Ret := WMI.ExecQuery(''SELECT * FROM Win32_Product'');
Enum := IUnknown(RET._NewEnum) as IEnumVariant;
while (Enum.Next(1, Tmp, Value) = S_OK) do
begin
s := Tmp.Name + ''('' + Tmp.Version + '')'';
Memo1.Lines.Add(s);
end;
end;
var
Locator: OleVariant;
WMI: OleVariant;
RET: OleVariant;
Enum: IEnumVariant;
Tmp: OleVariant;
Value: Cardinal; s: string;
begin
Memo1.Lines.Clear;
Locator := CreateOleObject(''WbemScripting.SWbemLocator'');
WMI := Locator.ConnectServer(''.'', '''', '''', '''');
Ret := WMI.ExecQuery(''SELECT * FROM Win32_Product'');
Enum := IUnknown(RET._NewEnum) as IEnumVariant;
while (Enum.Next(1, Tmp, Value) = S_OK) do
begin
s := Tmp.Name + ''('' + Tmp.Version + '')'';
Memo1.Lines.Add(s);
end;
end;
解决方案 »
- 可以通过程序获得HDD的状态 和 GPU的使用率么?
- winform 线程挂起无效果
- C#中子类的对象如何调用父类的方法(方法已经重写过)
- 正则表达式分析网页图片问题
- winform版的datagrid中的数据如何防止被复制,就是做出类似label的效果
- 请问用事件机制和不用事件机制有什么不同?
- 怎样去除掉的标题栏
- 在asp.net中,怎么在点一个按钮时先去执行一段js
- 关于反对日本加入安理会:王宏伟 说:日本人说中国人 ,不可能今天内凑够800万人签名,NND小瞧中国人 , 中国人就传下去
- 获取桌面hwnd 并在上面输出文字 。
- [求助]MDI窗体问题,大家伙帮帮忙··
- 咨询一个关于Windows服务的问题,可能不太常见。
using System.Management;private void button1_Click(object sender, EventArgs e)
{
ManagementClass win32_product = new ManagementClass("Win32_Product");
ManagementObjectCollection products = win32_product.GetInstances();
foreach (ManagementObject product in products)
{
textBox1.AppendText(string.Format("{0}({1})\r\n",
product.Properties["Name"].Value,
product.Properties["Version"].Value));
}
}