misc.log

日常茶飯事とお仕事と

ActiveX EXE内でのCurDir関数

メタフレーム対応のため、アプリと同じフォルダにあるINIファイル参照処理に手を加える必要が出てきた。その処理ロジックは顧客から提供されたのだが、それがActiveX EXEの場合にうまく働かない。どうも、ロジック内でパス取得に使っている「CurDir関数」が、予期しないフォルダを返しているようなのだ。
簡単なActiveX EXEサンプルを作ってみたところ、やはり、ActiveX EXE内部でCurDir関数を呼び出すと、C:\WinNT\System32 が返ってくる。もちろん、ActiveX EXE自体は別のフォルダにおいてあるし、登録もそのフォルダで行っている。
こういう仕様なのか?(COMの仕組み上、システムフォルダで動いてしまうのだろうか?)。とりあえず、App.Pathは使えないのか?という提案をするための根拠が欲しいので、OKWeb(http://www.okweb.ne.jp/)に初めて質問を出してみた。