
現在、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でコマンドプロンプト...
-
C ファイル出力で、フォルダが...
-
デスクトップの画像をhtmlに表...
-
VBAでファイル名を指定して保存...
-
ThisWorkbookがあるフォルダ更...
-
マクロでネットワークドライブ...
-
Windows Python初心者です。 im...
-
(C#)フォルダを指定するダイ...
-
MinGWで正規表現(regex.h)がし...
-
会社のネットワーク上のファイ...
-
バッチファイル フォルダを...
-
【ExcelVBA】一覧表の記載に従...
-
VBScriptでのフォルダ指定ダイ...
-
【マクロ】ファイル名の日付に...
-
Excelで指定したフォルダに保存...
-
カレントフォルダって?
-
VBA 最新のフォルダ取得
-
ExcelVBAでフォルダへのハイパ...
-
フォルダの場所を可変にしたい...
-
フォルダ選択ダイアログ:ネッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダ名に特定の文字を...
-
Access VBA で フォルダ権限...
-
ディレクトリ名変更してコピー...
-
excelマクロ 冒頭3文字が一致す...
-
Excelで指定したフォルダに保存...
-
パス名に2バイト文字(マルチバ...
-
ExcelのVBAでフォルダ指定がで...
-
excel VBA Dirにて検索したフォ...
-
【マクロ】ファイル名の日付に...
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
あるフォルダーのファイルを違...
-
C ファイル出力で、フォルダが...
-
フォルダを開いて、閉じるのプ...
-
ThisWorkbookがあるフォルダ更...
おすすめ情報