vb6使用变量作为DLL路径

Nic*_*vic 2 vb6

我不能让这个工作.它说字符串常量预期......

Dim const path As String = "\Windows\System32\user32"
Private Declare Function CallWindowProcW Lib path...
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Jim*_*ack 5

如前所述,你不能这样做.如果使用库的路径,则必须进行硬编码.

但是,如果您不使用硬编码路径,则Windows将查找库的已定义顺序.它将搜索应用程序目录,当前目录,Windows和系统目录以及当前路径.如果您将DLL放在任何这些位置,并省略引用中的硬编码路径,它将被找到(它们被搜索的顺序因Windows版本和记录的位置而异).

还有另外一种可能性.如果DLL已经加载到内存中,Windows将重用已加载的副本.因此,如果您自己首先加载DLL,则可以省略该路径,为此您可以使用字符串变量.查看LoadLibrary的文档.您必须使用FreeLibrary保留句柄并自行释放库.