16

MSDN によると、関数SetDllDirectory()を使用してディレクトリをDLL Search Pathに挿入できます。この関数は、おそらくcscriptを使用して、バッチ ファイルまたは cmd スクリプトからアクセスできますか?

その目的は、開発バージョンの dll を、%WINDIR% などの既存の古いバージョンよりも前に見つけられるようにすることです。そのためだけにプログラムを作成する必要はありません。

お時間とご意見をお寄せいただきありがとうございます。

4

3 に答える 3

17

%WINDIR% の前に最初に検索される実行可能ファイルと同じパスに DLL を配置できます。SetDllDirectory をバッチ ファイルから直接呼び出す方法はありません。

ただし、DLL ディレクトリを %PATH% 変数に挿入すると、Windows はそこで DLL を見つけます。

set PATH=C:\path to your dll;%PATH%
于 2009-02-05T22:33:33.777 に答える
13

その目的は、開発バージョンの dll を、%WINDIR% などの既存の古いバージョンよりも前に見つけられるようにすることです。そのためだけにプログラムを作成する必要はありません。

DLL が実行可能ファイルと同じフォルダーにない場合、Windows はシステム パスで指定されたフォルダーでファイルを検索します。したがって、パスの先頭にフォルダーを配置するだけです。

これは、次のバッチ コマンドを使用して行うことができます。

 set PATH=c:\MyDLLFolder;%PATH%

パスに空白が含まれている場合は、次のバッチ コマンドを使用する必要があります。

 set PATH="C:\My DLL Folder";%PATH%

ただし、このパスの変更は、現在のコンソール セッションの PATH に対してのみ行われることに注意してください。コンソールを閉じて再度開くと、これらのパスの変更は失われます。

于 2009-02-05T23:43:00.827 に答える