@egtraイグトランスの頭の中(のかけら)ActiveBasicを中心にプログラミングの話をぼちぼちと。8.1からこのサンプルでは動作しなくなってしまったようです。Vista~7では動作します。Microsoft.Windows.ActCtxオブジェクトを使うと、レジストリに登録せずCOMコンポーネントが使えます。APIを呼べない環境で重宝します。用意するものは3つです。msgbox.cpp。2010(Expressでも可)でコンパイルできます。Showというメソッドを1つ持った単純なオブジェクトがあります。正規にレジストリへ登録すれば、次のように使えるはずです。msg.Show2つ目、マニフェストファイルを作り、スクリプト本体と同じフォルダに置きます。今回の例ではファイル名をEgtra.MessageBox.manifestとしました。これは1から書きましたが、既存のものの場合レジストリを見てマニフェストファイルに転記する作業になると思います。</assembly>3つ目、スクリプトを書きます。Microsoft.Windows.ActCtxオブジェクトのメソッドCreateObjectを使用するのがミソです。mb.Showなお、64ビットWindowsでWSHを使う場合、通常64ビット版CScript.exe/WScript.exeの元で実行されることに注意です。32ビットDLLのCOMコンポーネントを使用する場合、C:\Windows\SysWOW64フォルダにある32ビット版のCScript.exe/WScript.exeで実行させる必要があります。2003からということです。Vista/7では使えますがXPではできません。ググると「WScript.exeまたはCScript.exeを適当なディレクトリにコピーして、WScript.exe.manifestまたはCScript.exe.manifestを作成する」という方法の解説がよく見つかります。それを裏技とするなら、Microsoft.Windows.ActCtxは正攻法と言えるでしょう。マニフェストファイルで実現できるとのことで、こちらにたどり着いた者です。C#で適当なクラスライブラリdll(com相互機能モード)を作成し、他の人間のPCへvbs、マニフェストファイル、dllを渡し、vbsを実行したところ「ActiveXコンポーネントはオブジェクトを作成できません」というエラーになってしまいます。~」の箇所でエラーが発生しているので、エラーメッセージの通りということになると思うのですが、考えられる原因はどのようなものがあるでしょうか?ちなみに当然ですが、dllを吐き出す時点で私のPCには登録がされているせいか、私のPCではvbsの実行はうまくいきます。返答をお願いいたします。01:03大変お待たせいたしました。C#やその他.NETの場合、マニフェストの記述内容を少々異なったものにする必要があります。19:09ご返答ありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。WPThemes.Info。