MSDN によると、関数SetDllDirectory()を使用してディレクトリをDLL Search Pathに挿入できます。この関数は、おそらくcscriptを使用して、バッチ ファイルまたは cmd スクリプトからアクセスできますか?
その目的は、開発バージョンの dll を、%WINDIR% などの既存の古いバージョンよりも前に見つけられるようにすることです。そのためだけにプログラムを作成する必要はありません。
お時間とご意見をお寄せいただきありがとうございます。
MSDN によると、関数SetDllDirectory()を使用してディレクトリをDLL Search Pathに挿入できます。この関数は、おそらくcscriptを使用して、バッチ ファイルまたは cmd スクリプトからアクセスできますか?
その目的は、開発バージョンの dll を、%WINDIR% などの既存の古いバージョンよりも前に見つけられるようにすることです。そのためだけにプログラムを作成する必要はありません。
お時間とご意見をお寄せいただきありがとうございます。
%WINDIR% の前に最初に検索される実行可能ファイルと同じパスに DLL を配置できます。SetDllDirectory をバッチ ファイルから直接呼び出す方法はありません。
ただし、DLL ディレクトリを %PATH% 変数に挿入すると、Windows はそこで DLL を見つけます。
set PATH=C:\path to your dll;%PATH%
その目的は、開発バージョンの dll を、%WINDIR% などの既存の古いバージョンよりも前に見つけられるようにすることです。そのためだけにプログラムを作成する必要はありません。
DLL が実行可能ファイルと同じフォルダーにない場合、Windows はシステム パスで指定されたフォルダーでファイルを検索します。したがって、パスの先頭にフォルダーを配置するだけです。
これは、次のバッチ コマンドを使用して行うことができます。
set PATH=c:\MyDLLFolder;%PATH%
パスに空白が含まれている場合は、次のバッチ コマンドを使用する必要があります。
set PATH="C:\My DLL Folder";%PATH%
ただし、このパスの変更は、現在のコンソール セッションの PATH に対してのみ行われることに注意してください。コンソールを閉じて再度開くと、これらのパスの変更は失われます。