システム情報について


ともぞう  2005-06-17 18:02:57  No: 15730

マイコンピュータ→システムのプロパティでは無く
マイコンピュータ→管理→コンピュータの管理(ローカル)のプロパティ
の方の「コンピュータ:」の情報を拾って来ることは可能なのでしょうか?


深夜鈍行  2005-06-20 11:15:23  No: 15731

コンピュータの管理から直接、情報を取得する事は出来ないと思いますが
APIやWMIを使ったコードを書けば可能です。


ともぞう  2005-06-20 17:37:51  No: 15732

>深夜鈍行 様

まだDelphiを触ってから浅いのでAPIやWMIを使った事がないのですが
どのようにしたら良いのでしょうか?


RAN  2005-06-20 19:06:27  No: 15733

コンピュータの管理の情報を全て持ってくるのは、おお事ですね。
具体的には、どんな情報が欲しいのでしょう?
もう少し絞った方が回答がつきやすいと思いますよ。

WMIの使用例。「WMIをつかってIPアドレスを変更してみる」
http://homepage3.nifty.com/isayan/dnwmiw32ipcfg.html

Delphi7だと、Microsoft WMI Scripting V1.2 libraryが
インポートの一覧から見つからないのですが、なぜでしょう?


ともぞう  2005-06-20 19:13:29  No: 15734

>RAN 様

メインで持ってくる情報は
・メーカー名
・コンピュータ名
の2つです。
使いまわし等で他に取れるようなら取りたいとは思っているのですが・・・

上記の項目なんですが
「システムのプロパティ」からの取り方はわかったのですが
OSを入れ直したりしているので
「コンピュータの管理」の方からの取ろうとしていたのです


RAN  2005-06-20 20:02:51  No: 15735

コンピュータ名は、GetComputerNameで取れます。
http://forum.nifty.com/fdelphi/faq/00133.htm


ともぞう  2005-06-20 20:09:47  No: 15736

>RAN 様

例のあげ方がまずかったですね
コンピュータ名 → FMV等の機種名の事です


RAN  2005-06-20 20:17:55  No: 15737

たぶん、WMIのWin32_ComputerSystemのManufacturerとModelだと思います。


RAN  2005-06-20 22:30:09  No: 15738

自分のPCはメーカー製でないので、上手く行っているか分からないのですが
こんな感じで如何でしょう?Delphi2005です。

uses
  ActiveX, WbemScripting_TLB;

procedure TForm1.Button2Click(Sender: TObject);
var
  Locator: ISWbemLocator;
  Service: ISWbemServices;
  ObjSet: ISWbemObjectSet;
  Enum: IEnumVariant;
  Obj: OleVariant;
  Value: Cardinal;
begin
  Locator := CoSWbemLocator.Create;
  Service := Locator.ConnectServer('.', 'root\cimv2', '', '', '', '', 0, nil);
  ObjSet:= Service.ExecQuery('SELECT * FROM Win32_ComputerSystem',
    'WQL', wbemFlagReturnImmediately, nil);
  Enum:= (ObjSet._NewEnum) as IEnumVariant;
  while (Enum.Next(1, Obj, Value) = S_OK) do
  begin
    Obj:= IUnknown(Obj) as SWBemObject;
    Edit1.Text := Obj.Manufacturer;
    Edit2.Text := Obj.Model;
  end;
end;


kkk  2005-06-20 22:48:47  No: 15739

他のやりかたとしてBIOS情報からもメーカーやコンピュータの情報が得られます。
http://crystalmark.info/ のCrystalDMI で上を確認してみてください。
DMI 経由でシステム情報を取得しているようです。
C++でのソースコードが入手できます。
http://crystalmark.info/download/


ともぞう  2005-06-20 23:42:09  No: 15740

>RAN 様
WbemScripting_TLB.dcu が見つかりませんというエラーが返ってきてしまいます・・・

>kkk 様
BIOSですか・・・
C++は触った事がないので、今以上に戸惑いそうな予感が・・・


ともぞう  2005-06-20 23:42:09  No: 15741

>RAN 様
WbemScripting_TLB.dcu が見つかりませんというエラーが返ってきてしまいます・・・

>kkk 様
BIOSですか・・・
C++は触った事がないので、今以上に戸惑いそうな予感が・・・


RAN  2005-06-21 00:03:17  No: 15742

タイプライブラリをインポートして下さい。

Delphi2005なら、メニューのコンポーネント。
コンポーネントのインポートで、タイプライブラリの取り込みを選択。
Microsoft WMI Scripting V1.2 libraryです。


RAN  2005-06-21 00:11:42  No: 15743

Delphi7でもMicrosoft WMI Scripting V1.2 libraryはありました。
メニューのプロジェクト。タイプライブラリの取り込みです。


ん?  2005-06-21 00:31:57  No: 15744

> Delphi7でもMicrosoft WMI Scripting V1.2 libraryはありました。

『Delphi7でも』というより、インストールされている DLLによるのでは?

http://www.catv296.ne.jp/~ken-yamada/devmemo/dev01.html
ここによると、XPは「Microsoft WMI Scripting V1.2 library」ですが、
2000は「Microsoft WMI Scripting V1.1 library」らしいです。

というわけで、必要なものが入っていれば、Delphi 3 とか 4 でも、
タイプライブラリの取り込みができる・・・と読みました。

いかがかな?


RAN  2005-06-21 00:34:16  No: 15745

おっしゃるとおりです。
ActiveX コントロールの取り込みを一生懸命見てました orz


junki  2005-06-21 00:38:01  No: 15746

これなんかどうでしょう。Delphi用ですが。

http://blog.livedoor.jp/junki560/archives/17973852.html


りょうた  2005-06-21 18:28:34  No: 15747

↑の実行しても何も表示されてないんですが・・・?


納豆、おくら  2005-06-21 19:03:36  No: 15748

表示されないって?
何事も諦めず、ネバリが肝心。
ネバレば海路の日和あり。


りょうた  2005-06-21 19:26:05  No: 15749

それって表示に時間がかかるって事ですか?


りょうた  2005-06-22 17:41:10  No: 15750

やはりBiosInfo自体のバージョン情報しか出ません

普通に
解凍→コンパイル→実行
で良いんですよね?


未対応?  2005-06-22 19:07:02  No: 15751

BiosHelp\Demos\bin\フォルダにある BiosHelp.exeを実行しても
BIOS情報が表示されないとしたら、そのマシンに対応してないということかな。


りょうた  2005-06-22 20:28:34  No: 15752

その方法でも表示されませんでした
未対応ですか・・・


  2005-06-23 04:36:16  No: 15753

>Edit1.Text := Obj.Manufacturer;
>Edit2.Text := Obj.Model;

このデータ以外に取れるものってあります?
あとコレをTStringList等でファイルに書き込む事はできますか?


RAN  2005-06-23 05:29:12  No: 15754

> このデータ以外に取れるものってあります?

Win32_ComputerSystemだけでも大量にあります。
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/win32_computersystem.asp

その他も色々とありますので、MSDNを見てください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加