运行错误的文件夹名称我创建一个对象COMGetModuleFilename返回通过VBScript中
Set FM_L = CreateObject("FMInterface.FMDebug")
在VBScript
。在Fmdebug
我有一个方法,调用GetModuleFilename
(C++方法)。它返回错误的文件夹路径(C:\Windows\System32
)。
如果我从C#应用程序运行这个相同的DLL,我得到正确的路径。只有在VBScript中,我收到了错误的文件夹路径。
代码:
static string ExePath() {
char buffer[MAX_PATH];
GetModuleFileName(NULL, buffer, MAX_PATH);
string::size_type pos = string(buffer).find_last_of("\\/");
return string(buffer).substr(0, pos);
}
请问您可以发布您的代码吗? –
在调用GetModuleFileName之前尝试使用GetModuleHandle,并将该句柄用作GetModuleFileName中的参数。 –
我以为wscript.exe文件夹路径正在返回.. bcoz vb脚本正在运行的帮助下。所以没有改变DLL(它不在我手中)任何改变脚本以获得正确的路径。 – anbuselvan