投稿日 | : 2007/01/17(Wed) 18:07 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: WMIの利用条件について |
> 私の開発環境があるPCのOSはWindowsXP Proで、
> 実行させたい開発環境のないPCはWindowsXP
> Embeddedです。また開発はVB6.0で行っております。
おっと、XPe ですか…。未経験なので、私には分かりません。
# とりあえず、無意味に google 結果を貼ってみる。
# http://groups.google.co.jp/groups/search?hl=ja&q=embedded+wmi
> For Each〜の部分で実行が止まってしまい、
見た感じでは、For Each 部分に、処理を積み込みすぎだと思います。まずは、
Set a = GetObject("winmgmts:")
Set b = a.InstancesOf("Win32_Process")
For Each c In b
のように分割して、どの部分に問題があるのかを確認すべきかと。
On Error トラップで、エラーが無視されている、とか…。
いずれかのオブジェクトのインスタンス生成に長い時間がかかっている、とか…。
.InstancesOf("Win32_Process") の件数が 0 件と看做されている、とか…。
あとは、環境面でチェックする項目として、
1) そもそも、WMI のサービスが起動しているか否か。
2) Win32_Process クラスは存在しているのか。
3) 省略表記せず、名前空間まで明示指定した場合には動作するのか。
4) GetObject からのシンタックスではなく、CreateObject から順に生成した場合はどうか。
などでしょうか。(未経験ゆえ、具体的な確認方法まではアドバイスはできませんが…)
> #VB6.0等が入っているPCだと正常に実行できます。
これは、「(XP Proではなく) XPe に、VB6 開発環境を入れると動作した」という意味ですか?