現在、VB6.0 SP5とWindows2000で、ActiveX EXEを用いたアプリケーションの開発を行っています。ActiveX EXEは、自分と同じフォルダ(たとえば、C:\Test\ など)にある初期化ファイル(INIファイル)を読み、自分でデータベースに接続して処理を行うようにしています。
顧客からの要望により、「自分のフォルダ」を取得するのに「CurDir関数」を用いなければいけなくなりました。しかし、どうも、ActiveX EXE内でこの関数を引数なしで呼び出すと、「C:\WinNT\System32」が返ってきてしまいます。
これはActiveX EXEの仕様ということでしょうか?(COM関連のライブラリを使うために、System32フォルダに処理が移っている?)。
簡単なサンプルを作って実証もしたのですが、もうすこし確実な根拠(マイクロソフト関連の資料など)があれば、と思います。どなたか、この件に関する情報をご存知の方、URLか説明をお願い致します。
(App.Pathを利用すれば問題なく取得できるので、この路線を提案したいのですが、CurDirがダメ、という根拠を揃えたいのです)。
No.1ベストアンサー
- 回答日時:
まず、ActiveX Exeをそのまま実行しているのか、別のプログラムからCOM経由でインスタンスにしているのかによる。
で、COM経由ならば、アウトプロセスCOMインタフェースで動作するので、この呼び出し方法で、「ActiveX Exeのある場所」を正しく取得するためには君の言うとおりAPP.Pathを使用しなくてはならない。
Windowsの制限だとでも言えば良いのではないかな。Active Xの動作原理をつらつら説明するしかないような気もする。
早速の回答ありがとうございます。
用法は、別アプリからインスタンス生成してActiveX EXEが抱えるクラスを利用するというものですので、提示いただいたケースそのものです。
そもそも、カレントフォルダは処理内容によっては刻一刻変化する可能性があるので、初期化ファイル(INIファイル)のようなものは必ず一意に場所特定できる方法で参照しに行く必要がありますよね。
そのあたりも絡めて、説明しようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- WordPress(ワードプレス) [BuddyPress]試したいのですが! 3 2022/06/01 13:36
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- その他(セキュリティ) exeファイルの個人情報について 3 2023/06/29 17:36
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
windowsでテキストファイルの各...
-
パス名に2バイト文字(マルチバ...
-
vbsで選択ダイアログを表示した...
-
Excelで指定したフォルダに保存...
-
C ファイル出力で、フォルダが...
-
META-INFフォルダの置き場所に...
-
デスクトップの画像をhtmlに表...
-
エクセル VBA ファイルをフォ...
-
ファイル名と同名のフォルダを...
-
VBA:特定の文字を含むフォルダ...
-
サーバ内のフォルダ名と各フォ...
-
VBA フォルダ名に特定の文字を...
-
エクセルのデータをメモ帳に貼...
-
フォルダ配下のファイル作成日...
-
Excel VBA 同じ名前のフォルダ...
-
保存先のフォルダ名を指定した...
-
GetAttrが原因?
-
VBA 最新のフォルダ取得
-
自動的に作られるresource.hに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
パス名に2バイト文字(マルチバ...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
Excelのハイパーリンクについて...
-
デスクトップの画像をhtmlに表...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
バッチファイルで指定フォルダ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
excelマクロ 冒頭3文字が一致す...
-
【マクロ】ファイル名の日付に...
-
フォルダにリンクを貼りたい
-
会社のネットワーク上のファイ...
-
多量のファイルをフォルダに自...
-
C ファイル出力で、フォルダが...
-
保存先のフォルダ名を指定した...
-
vbsで選択ダイアログを表示した...
-
Excel VBA 同じ名前のフォルダ...
おすすめ情報