プロセスのリストの取得


初心者  2009-03-10 21:32:41  No: 33618  IP: 192.*.*.*

http://mrxray.on.coocan.jp/Delphi/plSamples/901_WMI_SoftWare.htm
上記の03_プロセスのリストを参考にして、TThreadでテキストファイルにプロセスのリストを出力することを考えています。
出力はプロセス名・パス・使用メモリ等です。

多分フォームを持たないのでエラーになっていると思いますが、解決方法がわかりません。

環境は7Pro  XPです。

エラー箇所は
    Locator  := CoSWbemLocator.Create;
です。

エラーメッセージは
EOleSysError クラスの例外を生成しました。
'CoInitialize は呼び出されていません。'
です。

宜しくお願いします。

編集 削除
そのまんま  2009-03-11 00:14:46  No: 33619  IP: 192.*.*.*

そのエラーメッセージが言ってる通りにすればエラーは出ないよ。

編集 削除
初心者  2009-03-11 13:07:07  No: 33620  IP: 192.*.*.*

そのまんまさん回答有難う御座います。

追加しましたが同じ箇所で終了してしまいます。

try
if CoInitialize(nil) <> S_OK then Exit;
Locator  := CoSWbemLocator.Create;
^^ここでエラーも発生しなくて終了してしまいます。
except
~
end;

編集 削除
んで...  2009-03-11 13:39:30  No: 33621  IP: 192.*.*.*

CoInitializeの戻り値は?

編集 削除
初心者  2009-03-11 14:02:12  No: 33622  IP: 192.*.*.*

んで...さんコメント有難う御座います。

if CoInitialize(nil) <> S_OK then Exit;
を通過しているのでS_OKだと思います

編集 削除