電子書籍の厳選無料作品が豊富!

VBScriptとWMIを使って、あるクラス名を持つクラスが作成されたことを検知するイベントを作成したいと考えています。

Win32_Processクラスでインスタンスが作成されたときに検知などはできるのですが、どうしてもそこからクラス名を取得したり、作成されたサブクラス名を取得することができません。違うクラスを使ったほうが良いでしょうか。

何か良い方法があれば教えていただけないでしょうか。また、マニュアルで表記されているようであれば、その箇所を教えて頂けると助かります。宜しくお願いします。

A 回答 (4件)

>あつかましいお願いですが、例えばどの言語を使えば可能か教えて頂けないでしょうか。

フリーでは難しいものでしょうか。

WindowsAPIを使える言語なら確実です。
WinAPIを使える言語としては、CやC++、VBやDelphiなど。他にもHSPのようにスクリプトでもサポートしているものがあります。

その他の言語についてはわかりません。
    • good
    • 0
この回答へのお礼

ありがとうございます。早速調べてみます。ご協力ありがとうございました。

お礼日時:2005/06/25 18:35

papparapaさんがいうクラスはウィンドウクラスのことです。


プログラミングをするのであれば、正しい用語を使ってください。

で、ウィンドウクラス名の取得や、ウィンドウクラス名からのウィンドウの特定は、VBScriptとWMIだけでは取得不可能です。

少なからず他の言語を使用する必要があります。
    • good
    • 0
この回答へのお礼

taka_tetsuさん ありがとうございます。もとから、VBScriptとWMIだけでは無理だったんですね。全然気付いていませんでした。助かりました。

あつかましいお願いですが、例えばどの言語を使えば可能か教えて頂けないでしょうか。フリーでは難しいものでしょうか。

お礼日時:2005/06/24 13:32

ハンドルの数字をカウントアップさせ、クラス名と一致したら、その、数字がハンドルとゆうことがわかるとおもうのですが、ただおなじクラス名があるときがありますが、親子関係をしらべるとか、....


VBScriptとWMIはやってないので、見当違いのことを言っていたらすみません。
    • good
    • 0

クラスって何のどういったクラスですか?



クラスという一般的な言葉では何をしたいかがわかりません。
また、オブジェクト指向であるなら、「クラスが作成された」という言葉自体おかしいです。
「クラスのインスタンスが作成された」ということであれば概念的にはわかりますが、これでも具体的に何をしたいのかはわかりませんので。

ちなみに、papparapaさんが書かれた「インスタンス」についてはWin32_Processって書いてあるんで、Windows上のプロセスということは判断つきますが。

この回答への補足

すいません 確かにクラスのインスタンスが作成されたというのが正しいように思います。正確に説明できるか自信がなく、具体的に書かせて頂きます。

アプリケーションを起動するとウィンドウがでて「はい」「いいえ」を選ぶようになっています。

SendKeysを使って「はい」を選択します。

そうしますと、このアプリがある操作を行うのですが、この操作が終わる時間が一定ではありません。

操作終了後、ウィンドウが開いてそこで「1」「2」「3」と選ぶようになっています。

ここでこのウィンドウにタイトルと言いますか、「Internet Exploer」というような文言が表示されず、空白のタイトルなのです。しかし、Winspectorを使ってこのアプリを見たところ、ウィンドウの中にさらにウィンドウがあって(親ウィンドウ、子ウィンドウという感じです)、この子ウィンドウのclass nameが特定の文言になっているんです。

この特定の文言に対応するかたちで、スクリプトを走らせたいと考えています。


うまく説明できているかわかりませんが、引き続き宜しくお願いします。

補足日時:2005/06/23 17:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!