tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルWMIのオブジェクト取得について
記事No9916
投稿日: 2010/03/02(Tue) 17:09
投稿者のりゆき@VB駆け出し
はじめまして、VB.NETを使って1年ののりゆきといいます。
VB2008とXP SP3をつかっています。

WMIに関して教えてください。

http://hanatyan.sakura.ne.jp/dotnet/Prt12.htm#no4
こちら(4.WMI のWin32_Printer クラスを使って通常使うプリンターを取得)のサンプルを実行すると、

For Each oPrinter As System.Management.ManagementObject In ms.Get()

を実行した際に
An error occurred while attempting to retrieve the list of objects.
というエラーが出てしまいます。

別のサンプルをテストしてみようと思い、
http://www.wmifun.net/step/step10.html
こちらのサンプルを実行してみると同じく

For Each Prc In PrcSrc

を実行するときに同じエラーが出てしまいます。
皆さんも実行すると同じようなエラーが出るのでしょうか?

ご教授のほどよろしくお願いします。

[ツリー表示へ]
タイトルRe: WMIのオブジェクト取得について
記事No9919
投稿日: 2010/03/02(Tue) 18:33
投稿者オショウ
> を実行するときに同じエラーが出てしまいます。
> 皆さんも実行すると同じようなエラーが出るのでしょうか?

  Windows7 Ultimate ですが、何の問題もなく
  動作しました。

以上。

[ツリー表示へ]
タイトルRe^2: WMIのオブジェクト取得について
記事No9927
投稿日: 2010/03/04(Thu) 10:12
投稿者のりゆき@VB駆け出し
>   Windows7 Ultimate ですが、何の問題もなく
>   動作しました。

オショウ さん

ありがとうございます。
Windows7を持っている知人に試させて貰おうと思います。

[ツリー表示へ]
タイトルRe: WMIのオブジェクト取得について
記事No9921
投稿日: 2010/03/02(Tue) 18:56
投稿者花ちゃん
> For Each oPrinter As System.Management.ManagementObject In ms.Get()
> http://www.wmifun.net/step/step10.html
> こちらのサンプルを実行してみると同じく

> を実行するときに同じエラーが出てしまいます。
> 皆さんも実行すると同じようなエラーが出るのでしょうか?

そもそもエラーがでて動かないようなコードを掲載しておりません。
一応動作確認をしております。

エラーがでるなら、詳しい環境を掲載するようにして下さい。
又、エラーメッセージをキーにWEBで検索して下調べをした上で投稿して下さい。
(HP 社製のPCだったりしませんか?)

取りあえず、エラーメッセージをキーに検索して該当する事がないか調べて見て下さい。
http://tinyurl.com/y8smxmc

[ツリー表示へ]
タイトルRe^2: WMIのオブジェクト取得について
記事No9928
投稿日: 2010/03/04(Thu) 10:20
投稿者のりゆき@VB駆け出し
> そもそもエラーがでて動かないようなコードを掲載しておりません。
> 一応動作確認をしております。

花ちゃん さん
ありがとうございます。

そう思いましたが念のため確認でした。

> エラーがでるなら、詳しい環境を掲載するようにして下さい。
> 又、エラーメッセージをキーにWEBで検索して下調べをした上で投稿して下さい。
> (HP 社製のPCだったりしませんか?)
>
> 取りあえず、エラーメッセージをキーに検索して該当する事がないか調べて見て下さい。
>  http://tinyurl.com/y8smxmc

当然のことだと思いますがGoogleで最低限調べてから質問させていただいています。
(下調べするのは当然だと思い他のサイトのサンプルも試しましたから、少し心外でした)
記事的にはファイバーチャネルに関する問題だと思ったので無視しました。

WinXP Pro SP3でDELL Inspiron 530がPCの環境で開発ソフトウェアはVB2008 Expressを使っています。

[ツリー表示へ]
タイトルRe^3: WMIのオブジェクト取得について
記事No9930
投稿日: 2010/03/04(Thu) 10:54
投稿者花ちゃん
> 当然のことだと思いますがGoogleで最低限調べてから質問させていただいています。
> (下調べするのは当然だと思い他のサイトのサンプルも試しましたから、少し心外でした)

だったら質問される前にその旨を書いておいて下さい。
何と何を調べたとか、どこどこのサイトの***は、調べたが、該当しなかったとか
こちらとしては、肝心な詳しい環境も書いていない(周辺機器に関する事なのに)等から
あまり調べておられないと判断しております。

このサイトに掲載しているものは、特別な表記が無い限り、VB2005/VB2008(EE)
WindowsXP/Windows Vista で動作確認しております。
又、WMI は、VB6.0(Windows2000以上)でも動作しますので、プログラム的な要因より、
貴方の動作環境等の問題の方が大きいと思います。
http://hanatyan.sakura.ne.jp/vb60bbs/wforum.cgi?no=14509&reno=14505&oya=14505&mode=msgview&page=0
下調べ等したのなら、プリンター名や接続状況及び試した環境(複数PCで)等も記入
するようにしておいて下さい。
こちらとしては、投稿された文書内からしか判断できませんので。

2ケ所のサンプルを試して同じ状況なら、なぜ、ご自分の環境を疑わないのでしょうか?
少なくても、エラーメッセージで検索したところでは、そのような記事が多く目についた
はずです。

[ツリー表示へ]
タイトルRe^4: WMIのオブジェクト取得について
記事No9957
投稿日: 2010/03/10(Wed) 11:26
投稿者のりゆき@VB駆け出し
> だったら質問される前にその旨を書いておいて下さい。
> 何と何を調べたとか、どこどこのサイトの***は、調べたが、該当しなかったとか
> こちらとしては、肝心な詳しい環境も書いていない(周辺機器に関する事なのに)等から
> あまり調べておられないと判断しております。

では提案です。書いておいて欲しい内容を一覧で書くだけではなく、テンプレートを用意しておくのはいかがでしょうか?
あなたが思っていることが誰にでも伝わるとは考えられないので、そこまでいうのであればテンプレートを用意すべきと考えます。

この件に関してはこれで終わりにしたいと思います。(本来の質問とかけ離れてきたので・・・)

[ツリー表示へ]
タイトルRe^3: WMIのオブジェクト取得について
記事No9935
投稿日: 2010/03/04(Thu) 13:22
投稿者花ちゃん
下記を実行して見て、イミディエイト ウィンドウには何か表示されますか?

   On Error Resume Next
   Dim ms As New System.Management.ManagementObjectSearcher("Select * from Win32_Printer")
   Debug.WriteLine(ms.Get.Count)
   For Each oPrinter As System.Management.ManagementObject In ms.Get()
      Debug.WriteLine(oPrinter("Name").ToString())
      If DirectCast(oPrinter("Default"), Boolean) = True Then
        ' Debug.WriteLine(oPrinter("Name").ToString())
         Exit For
      End If
   Next oPrinter

[ツリー表示へ]
タイトルRe^4: WMIのオブジェクト取得について
記事No9958
投稿日: 2010/03/10(Wed) 11:30
投稿者のりゆき@VB駆け出し
> 下記を実行して見て、イミディエイト ウィンドウには何か表示されますか?

>    For Each oPrinter As System.Management.ManagementObject In ms.Get()
上記部分でエラーになりました。

環境の問題もあると思いこの週末に HDD を交換し OS を入れ替えてみました。
結果として、
http://hanatyan.sakura.ne.jp/dotnet/Prt12.htm#no4
こちらのサンプルも
http://www.wmifun.net/sample/
こちらのサンプルも動作するようになりました。

WMI自身に問題があったようです。この問題を解決できないかこれから調べてみようと思います。

[ツリー表示へ]