プロが教えるわが家の防犯対策術!

いつもお世話になっております。
VB2005で開発しています。

DLLを登録するときに、コマンドプロンプトから
regsrv32 ファイル名.dll
と実行すると思います。

これをVBから行いたいのですが、何か良い方法はございませんか?
具体的には、VBでレジストリ登録するファイルの一覧を出力して、
それをレジストリ登録したいのです。
VBとバッチを組み合わせれば、実現可能なのですが、
ファイルを2つに分けたくないので、VBだけで処理できないものかと
思いました。

コマンドプロンプトで実行するコマンドをVBから同じように実行できれば良いのですが・・・
もしよろしければ、ご教示ください。
よろしくお願い致します。

A 回答 (2件)

System.Diagnostics.Processを使えば可能でしょう



dim ss() as String = {"MSFlxgrd.ocx", "msadodc.ocx"}
dim proc as System.Diagnostics.Process
for s as String in ss
proc = System.Diagnostics.Process.Start("Regsvr32.exe", s & " /q" )
proc.WaitForExit()
next
MsgBox "終了"
といった具合です
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
とても勉強になりました。

ただコマンドライン引数に指定されている"/q"の意味がわかりません。
私なりに以下のサイトなどを見たりして調べてみたのですが、
書かれておりませんでした。
http://home.att.ne.jp/banana/akatsuki/doc/other/ …
どのような意味のものなのでしょうか?

もしよろしければ、ご教示ください。

ちなみにですが、ForのあとにEachが抜けているようですね。
気付きましたので、次に見る人のために記載しておきます。
悪気はございませんので、ご了承ください。

お礼日時:2008/12/22 11:02

ごめんなさい 勘違いでした


本当はメッセージボックスの抑制用のスイッチをと思ったんですが

/s でした m(__)m

for文の Eachが抜けたのは愛嬌ということでご容赦ください
    • good
    • 0
この回答へのお礼

詳しくご説明くださってありがとうございます。
メッセージボックスも表示したくなかったので、
とても助かりました。

>for文の Eachが抜けたのは愛嬌ということでご容赦ください
これも全く問題ございません。
意としていることは、十分に分かりますので。

とても助かりました。
ありがとうございました。

お礼日時:2008/12/22 17:25

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