mat*_*kie 11 dll cmd wsh batch-file
MSDN说,函数SetDllDirectory()可用于将目录插入DLL搜索路径.可以从批处理文件或cmd脚本访问此函数,也许使用via cscript?
我们的目标是在%WINDIR%等预先存在的旧版本之前找到我们的开发版本的dll,而不必为此编写程序.
提前感谢您的时间和想法.
jus*_*sij 11
我们的目标是在%WINDIR%等预先存在的旧版本之前找到我们的开发版本的dll,而不必为此编写程序.
如果DLL与可执行文件不在同一文件夹中,则Windows将在系统路径中指定的文件夹中搜索该文件.所以你需要做的就是把你的文件夹放在路径的开头.
您可以使用以下批处理命令执行此操作:
set PATH=c:\MyDLLFolder;%PATH%
Run Code Online (Sandbox Code Playgroud)
如果路径包含空格,则需要使用以下批处理命令:
set PATH="C:\My DLL Folder";%PATH%
Run Code Online (Sandbox Code Playgroud)
但请记住,此路径更改仅针对当前控制台会话的PATH.如果关闭并重新打开控制台,则这些路径更改将丢失.
小智 8
您可以将DLL放在与可执行文件相同的路径中,该文件在%WINDIR%之前首先搜索.无法直接从批处理文件中调用SetDllDirectory.
但是,您可以在%PATH%变量中插入DLL目录,然后Windows将在那里找到DLL.
set PATH=C:\path to your dll;%PATH%
Run Code Online (Sandbox Code Playgroud)
为了消除有关dll搜索顺序的争议(在@jussij答案中的注释中),以下是从Microsoft的文档中提取的列表:
如果SafeDllSearchMode
启用,则搜索顺序如下:
GetSystemDirectory
函数获取此目录的路径。GetWindowsDirectory
函数获取此目录的路径。如果SafeDllSearchMode
禁用,则搜索顺序如下:
GetSystemDirectory
函数获取此目录的路径。GetWindowsDirectory
函数获取此目录的路径。 归档时间: |
|
查看次数: |
34024 次 |
最近记录: |