Last Updated 2002/03/06
Programming Tips Visual C++ DLL  索 引 
DLLを探す順番
2002/03/06

Windows 3.1
1.カレントディレクトリ
2.\Windows ディレクトリ(GetWindowsDirectory() で取得出来る)
3.\Windows\System ディレクトリ(GetSystemDirectory() で取得出来る)
4.現タスクの実行ファイルのあるディレクトリ
5.環境変数 PATH で指定されてるディレクトリ
6.ネットワークに割り当てられてるディレクトリ(たぶんサーチパスの事)

ただ,当該 DLL(OCX) が既にロードされてる場合は,このメモリー中のモジュールが使用される.違うバージョンの DLL が存在すれば,アプリの起動順によって動作が変わると言う事になり混乱の元となる.
他と少しでも共用される可能性のある DLL は system ディレクトリに置くようにする.


Windows95
1.現タスクの実行ファイルのあるディレクトリ
2.カレントディレクトリ
3.\Windows\System ディレクトリ(GetSystemDirectory() で取得出来る)
4.\Windows ディレクトリ(GetWindowsDirectory() で取得出来る)
5.環境変数 PATH で指定されてるディレクトリ

WindowsNT
1.現タスクの実行ファイルのあるディレクトリ
2.カレントディレクトリ
3.\Windows\System32 ディレクトリ(GetSystemDirectory() で取得出来る)
3.\Windows\System ディレクトリ
4.\Windows ディレクトリ(GetWindowsDirectory() で取得出来る)
5.環境変数 PATH で指定されてるディレクトリ


参照
前後のTips
DLLを探す順番

DSS ProgrammingTipsCGI Ver2.02