名前 題名 ▼ Syakeさん > こんにちはマスター。 > パクリなくりですが、こんなんどでしょうか? > Microsoft WMI Scripting V1.2 Library は不要です。 > > procedure XXXXX(); > > function GetWMIObject(const objectName: String): IDispatch; > var > chEaten: Integer; > BindCtx: IBindCtx; > Moniker: IMoniker; > begin > OleCheck(CreateBindCtx(0, bindCtx)); > OleCheck(MkParseDisplayName(BindCtx, StringToOleStr(objectName), chEaten, Moniker)); > OleCheck(Moniker.BindToObject(BindCtx, nil, IDispatch, Result)); > end; > > var > ObjWMIService : OLEVariant; > oleItemList : OLEVariant; > oleItems : OLEVariant; > oleItem : OLEVariant; > iEnumList : IEnumVariant; > iEnum : IEnumvariant; > nValue : LongWord; > begin > ObjWMIService := GetWMIObject('winmgmts:\\localhost\root\cimv2'); > oleItemList := objWMIService.ExecQuery('SELECT * FROM Win32_OperatingSystem','WQL',0); > iEnumList := IUnknown(oleItemList._NewEnum) as IEnumVariant; > while iEnumList.Next(1, oleItems, nValue) = S_OK do > begin > iEnum := IUnknown(oleItems.Properties_._NewEnum) as IEnumVariant; > while (iEnum.Next(1, oleItem, nValue) = S_OK) do > begin > if VarIsNull(oleItem) then Continue; > {適当にデータ処理・・・} > end; > end; > end; > > DelphiXE Windows7 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link