C++Builder相談室 Part13
■ このスレッドは過去ログ倉庫に格納されています
0139デフォルトの名無しさん
05/03/03 17:25:33そのサンプルならあったぞ
Variant locator = CreateOleObject("WbemScripting.SWbemLocator");
Variant service = locator.Exec(Function("ConnectServer"));
Variant osSet = service.Exec(Function("ExecQuery") << "Select * From Win32_OperatingSystem");
IUnknown* osEnumUnknown = (IUnknown*)osSet.Exec(PropertyGet("_NewEnum"));
IEnumVARIANT* osEnum = 0;
if(osEnumUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&osEnum) == S_OK) {
tagVARIANT tagOs;
unsigned long ret;
while(osEnum->Next(1, &tagOs, &ret) == S_OK) {
Variant os = &tagOs;
Memo1->Lines->Add("OSを起動しているデバイス: "
+ os.Exec(PropertyGet("BootDevice")));
Memo1->Lines->Add("OSのビルドナンバー: "
+ os.Exec(PropertyGet("BuildNumber")));
Memo1->Lines->Add("OSの名前: "
+ os.Exec(PropertyGet("Caption")));
Memo1->Lines->Add("OSをインストールした日: "
+ os.Exec(PropertyGet("InstallDate")));
// Windows XP 以降? Windows 2000 では Null が返る
if(os.Exec(PropertyGet("LastBootUpTime")) != Null) {
Memo1->Lines->Add("OSを最後に起動した日: "
+ os.Exec(PropertyGet("LastBootUpTime")));
}
Memo1->Lines->Add("OSのバージョン: "
+ os.Exec(PropertyGet("Version")));
}
}
■ このスレッドは過去ログ倉庫に格納されています