掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ネットワークアダプタを無効に (ID:52765)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>> なにかOCXをインストールしておかなければいけないのでしょうか? 最初に発言した WMISDK が入っています。 MSDN は OCTOBER 2001 <-↑↓ Visual Studio.Net Pro をサブスクライブして得たもの。 Visual C++ 6.0 SP5 です。 それだけです。 で、WMISDK はなるみさんのレスがないので、見つかっていないのかもしれません。 でも、 >> Microsoft Platform SDK February 2003 これには WMI も入ってるかもしれませんね。 #include <Wbemcli.h> #include <WbemProv.h> は問題なかったんですよね。 wbem で winnt 以下を検索すると、\winnt\system32\wbem 以下に タイプライブラリが2個ほどはいっていますよね。 これをクラスウィザード Ctrl+W でクラスの作成/タイプライブラリから を使用すると、似たクラスのラッパができます。 機能は酷似しているようだが、別物なので、CLSID や IID は異なると思われます。 それらをインポート(#import)して tlh や tli を確認してみてはいかがかと。 得られた CLSID や IID が レジストリに登録されているかどうか検索してみると確実ですね。 >> CoInitializeEx()を事前にCallする、とか。 それでいいはず。で、UnInitialize() も書くべきか。 上のVC++6.0 のサンプルはテストなんで、プログラム自体はへんてこなんです。 まともにやると面倒なんで、ここでは次のようにしています。 MFC AppWizard(exe) でダイアログアプリを選択。 全てデフォルトでできあがったプロジェクトに [挿入][ATLオブジェクトの新規作成] そして、オブジェクトの作成ダイアログができますが、ここでキャンセルします。 キャンセルしても、ATLオブジェクトを使う環境になりますので、 COM+ の初期化系(CoInitializeEx)は今後追加不要となります。 その後、 stdafx.h にて comdef.h comutil.h をインクルード。 さらに [プロジェクト][設定][C++][プリプロセッサ][インクルードファイルのパス] に SDK のインクルードのディレクトリ。 そして、CLSID_xxxxx の実体を含むライブラリをリンク [プロジェクト][設定][リンク][一般][オブジェクト/ライブラリモジュール] WbemUuid.Lib で、 [プロジェクト][設定][リンク][インプット][追加ライブラリのパス] にライブラリの入っているフォルダ(ディレクトリ)を指定する。 う゛ーん接続語がいいかげん。 その上で、上記のコードを OnOK() のところに書いたものです。 結果はデバッグ窓へ。 >> アダプタ名を列記するサンプルみたい。 Name プロパティを持つものを集めてきて表示しています。 (なーめプロパティ (^^;; ) Win32_NetworkAdapter でぐーぐる(日本語サイトに限ると3件しか出てこない) # ってことはしばらくするとこのページも4件目に登録されるかな。 http://www011.upp.so-net.ne.jp/oshieru/note/Scripting.txt ここで VB からの使い方がわかります。 MSDN2001/10月なら キーワード Win32_NetworkAdapter を入力ここで、プロパティやメソッドがわかります。 [同期]を押すと似たようななまえが一杯並びますので、ほかのオブジェクトについてもわかります。 同じく IWbemClassObject でキーワード、そして同期を押して、本のアイコンを開く。 すると、IWbemClassObject のメソッド一覧が出るので、所定のパラメタを与えてよびだせばよい。 COM ご存知なら、 CComBSTR や CComVariant, _bstr_t, _variant_t は大丈夫ですよね。 ちなみに char -> wchar_t なんぞはお手軽に _bstr_t にやらせたりして手を抜いています。 SAFEARRAY が出てきたら面倒ですね。 OLE2 のプログラマーズリファレンスII 参照か。(白+わさび色のあの本ね) 設定可能なプロパティをもつオブジェクトを集めてきて、オブジェクトに対して、 GetではなくPutを使えばよいですね。 詳しくは上記ヘルプを読んでください。(えーごだー!...とはいわないでね) (^^;; >> ギャラリー >> エラーの戻りは何? REGDB_E_CLASSNOTREG : 0x80040154L : レジストリにない。 CLASS_E_NOAGGREGATION : 0x80040110L : 集成(アグリ)できない。 E_NOINTERFACE : 0x80004002L : インターフェースがない、見えない おそらく 0x80040154L かな。 regsvr32 されていないだけかもしれない。(^^;;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.