• ベストアンサー

DLLをREGSVR32しないで利用する方法について。

こんにちは。 Visual Basic 6.0でActiveX DLLを作成しました。 REGSVR32で登録して正常に利用できていますが、 レジストリを使わないで動かしたいと思っています。 フリーソフトではレジストリを使わないで動かせるものがありますが、あのようにするにはどうすればよいのでしょうか。 基本的には、exeファイルとdllファイルを同じフォルダへ置いて動けば良いと思っています。 調べるとLoadLibraryを使えば出来そうに書かれていますが、ご存知の方アドバイスを宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>フリーソフトではレジストリを使わないで動かせるもの おそらく、何らかのソフトにDLLが含まれていて、インストーラを起動せずに実行できたからだと思うのですが、、、 #1のtodo36さんの発言の延長でお話いたします。 逆にそのDLLを、REGSVR32で登録できますか? ・出来ない場合 ActiveX形式のDLLではありません。 CやVCで作成されたものだと思われます。 レジストリ登録しないで使用します。 VBでは「Declareステートメント」による引き込み、もしくは[API:LoadLibrary]と[API:GetProcAddress] ・出来る場合 ActiveX形式のDLLです。 VBやVCで作成されたものだと思われます。 レジストリ登録して使用します。 VBでは「CreateObject()」、もしくは[API:CoCreateInstance] です。 もし、そのソフトがレジストリ登録できたのなら、こっそりレジストリに書き込んでいるのとしか思えません。

i_september
質問者

お礼

有難う御座います。 理解できました。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

>Visual Basic 6.0でActiveX DLL レジストリに登録しないと動きません。 > フリーソフトでは~ ActiveXではなくAPIの話ですね。 APIはVBで作れないので、VC等で開発する。

i_september
質問者

お礼

ご回答有難う御座います。 参考にさせて頂きます。

関連するQ&A

  • VB2008でのDLL作成方法について

    はじめまして、はじめて投稿します。 初心者なので変な質問をしていたらすいません。VB2008を使用しています。 VBで作成したDLLファイルをLabviewで使用したいと思っています。 ただVB6.0でActiveX DLLを作成する方法はわかるのですが、VB2008で作成する方法がわかりません。 クラスライブラリでプログラムを作成し、DLLにすることはできるのです・ しかしレジストリに登録しようと思い「regsvr32 ファイルのパス**.dll」と入力したところ「**.dllは読み込まれましたが、DllRegisterServerエントリポイントが見つかりませんでした」と出ます。 調べてもVB2008でのActiveX DLL作成方法が見つからなくて困っています!!! わかるかた、よろしくお願いいたします。

  • regsvr32.exe による DLLの登録について

    質問は2つあります。以下、よろしくお願いします。 1.通常DLLはレジストリに登録しなくても使用できますが、どういう場合に登録が必要なのでしょうか? 2.regsvr32 xxx.dll を実行したところ、以下のようなエラーとなってしまいました。正しく登録するにはどうしたらいいのでしょうか? xxx.dll は読み込まれましたが、DllRegisterServer エントリポイントが見つかりませんでした。このファイルが登録されていない可能性があります。 以上、よろしくお願いいたします。

  • 自作COMコンポーネント(dll)の登録場所

    Visual Basic 6.0でActiveX DLLを自作しました。 開発環境へは自動的に登録されると思うのですが、これを別のPC、Webサーバーに登録したいのです。 REGSVR32 コマンドを使えばいいと思うのですが、DLLをコピーする、登録するのに適切な場所、フォルダというものはあるのでしょうか? 教えて下さい。よろしくお願い致します。

  • dll作成

    Visual studio2012利用し、 Win32プロジェクト から DLLを選んで、テンプレートに、関数を記入。ヘッダファイルを追加し、そこに関数の宣言を書いた。 ビルドすると、Debugフォルダに.dllは作成され、exeファイルが作成されない。 デバックなしで開始するとdllは開始できません。とメッセージがでます。 作成されたdllファイルの開始の仕方を、教えてください。

  • regsvr32で登録された一覧を知りたい

     よろしくお願いします。  環境はwindowsXPsp1です。同名のdllやocxが複数フォルダにあり、どちらがregsvr32で登録されているかわかりません。regeditで一つ一つ調べていたのですが、精神的な限界に達しました。一覧でずばんとわかる方法は無いでしょうか。  できればフリーソフトを使わずwindows機能だけでなんとか調べたいのですが・・・

  • 読み込むDLLのディレクトリを変更したい

    Visual C++ 7.1を使用しています。 ライブラリを使って作成したアプリを配布するとき、 一緒にDLLファイルも配布しないと起動できませんよね? 通常は、DLLファイルのパスは実行ファイルと同じか、 system32などのディレクトリに入れなければ 「~~~.dllが見つかりません。」 みたいなエラーが表示されるかと思います。 (違ったらすみません) そうではなく、DLLファイルが10個以上ありますので、 実行ファイルと同じディレクトリだとややこしくなるため、 実行フォルダより1つ下の階層にまとめて置きたいのですが、 そのような事は可能なのでしょうか? できれば、LoadLibraryなどの関数は使わず、 何かしらの設定で出来るのであればそれが望ましいです。 可能でしたら、方法をご伝授いただけると助かります。 よろしくおねがいします。 サンプルですが構成としては以下のような感じです。 (※[ ]はフォルダ名を表します) [Main]  ReadMe.txt  実行ファイル.exe  [Image]   image1.png   image2.png  [Sound]   sound1.wav   sound2.wav  [DLL]   graphics2d.dll   input.dll   sound.dll   file.dll

  • dllファイルをレジストリ登録できない

    Windows Vistaを使っています。 あるdllファイルがありまして、 そのファイルをレジストリ登録したいと思っております。 Windows XPでは正しくレジストリ登録できたdllのファイルなのですが、 Vistaで実行するとエラーとなってしまいます。 Vistaでの実効手順は以下の通りです。 (1)C:\WINDOWS\system32\cmd.exeを管理者権限で実行 (2)regsvr32 ~~.dllを実行 (2)を実行すると添付ファイルのメッセージが表示されてしまいます。 私なりに調べてみまして、 (1)を管理者権限で実行すること。 (2)でdllファイルをフルパスで指定して実行すること。 の2点は試しましたが、結果は同じでした。 何かほかに考えられることはございませんか? 解決できそうな案を、ご提示いただければ、私が確かめます。 ぜひご教示お願いいたします。

  • VB 2008 DLL作成の方法

    当方Visual Studio 2008のVB、C++で開発をしています。 VS2008のVBでクラスライブラリとして作成し、ビルドをしてDLLを作成したのですが、 対となるLIBファイルがどこにも見当たりませんでした。 VS6.0のVBではLIBファイルも作成されました。 VS2008のVBでLIBファイルを作成する方法をご存知の方いらっしゃいましたら教えてください。 LIBファイルを使用する理由は、VBで作成したDLLをC++に組み込むときにリンクさせる為です。 ※今回はLoadLibrary関数を使わず、LIBファイルを使おうと考えています 以上、宜しくお願い致します。

  • パソコンの起動時に、RegSvr32.exeのエラーメッセージが出ます

    パソコンの起動時に、RegSvr32.exeのエラーメッセージが出ます。 パソコンの起動時に毎回、 『RegSvr32.exeエラー Dll名が指定されていません。 使用法:Regsvr32 [/u][/n][/i[:コマンドライン]] dll名 /u - サーバーの登録を解除します。 /i - DllInstall を呼び出し、それにオプションの [cmdline] を渡します。~等』 のメッセージが出ます。 フリーソフトの「PCクリーン」でメンテナンスした後から出るようになりました。 同じような質問を検索したところ、質問番号:4247524にありましたが、IEの起動は正常にできますし (Version6.0)、IEでのツール-アドオンの管理のリストの中にはアドオンを無効にするような物は見あたりませんでした(該当する物が分かりませんでした)。 対処方法をいろいろ調べましたが分からず教えていただければ幸いです。

  • ActiveX DLL と ActiveXコントロールの違い

    VB6で開発をしています。 複数のEXEファイルを使用するシステムです。 各EXEファイルの共通のモジュールをライブラリ化しようと思っています。 これは [ActiveX DLL] 又は、[ActiveXコントロール] のどちらでも実現できると思うんですが、どちらで作成した方が良いのでしょうか? それぞれのメリット、デミリットを教えて下さい。

専門家に質問してみよう