Delphi XE3 でプログラムを開発しています。プログラムは、WMI によってハードウェア情報を読み取る必要があります。私のコード:
var
SWbemLocator1: ISWbemLocator;
Service: ISWbemServices;
...
begin
CoInitialize(nil);
SWbemLocator1 := CoSWbemLocator.Create();
Service:= SWbemLocator1.ConnectServer('.', 'root\CIMV2', '', '', '', '', 0, nil);
...
それは完全に機能しますが、ゲスト Windows アカウントの ConnectServer では、「アクセスが拒否されました」という例外が呼び出され、機能しません。管理者とユーザー アカウントは正常に機能します。Windows Vista/7 でのテスト。
どうすれば修正できますか?