dllinit /ローダーロック中にアプリケーションディレクトリを取得する方法はありますか? 現在、私はここで提示された方法しか知りません。このアプローチは Shell32.dll をロードする可能性があるため、dllinit 中は安全ではないと思います。
アドバイス/他の方法はありますか?
明確化: 実行可能ファイルが存在するディレクトリではなく、AppData ディレクトリを検索しています。
dllinit /ローダーロック中にアプリケーションディレクトリを取得する方法はありますか? 現在、私はここで提示された方法しか知りません。このアプローチは Shell32.dll をロードする可能性があるため、dllinit 中は安全ではないと思います。
アドバイス/他の方法はありますか?
明確化: 実行可能ファイルが存在するディレクトリではなく、AppData ディレクトリを検索しています。
ExpandEnvironmentStringsまたはGetEnvironmentVariableを %APPDATA% (取得するパスに応じて %LOCALAPPDATA%) と共に使用できます。これらの関数は、kernel32.dll からのものです。
(またはSHGetFolderPath
と一緒に) または( /と一緒に)を使用できます。CSIDL_APPDATA
CSIDL_LOCAL_APPDATA
SHGetKnownFolderPath
FOLDERID_RoamingAppData
FOLDERID_LocalAppData
ただし、フラグ ファイルの代わりにレジストリを使用することをお勧めします。