2015-10-19 68 views
0

运行错误的文件夹名称我创建一个对象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); 
} 
+0

请问您可以发布您的代码吗? –

+0

在调用GetModuleFileName之前尝试使用GetModuleHandle,并将该句柄用作GetModuleFileName中的参数。 –

+0

我以为wscript.exe文件夹路径正在返回.. bcoz vb脚本正在运行的帮助下。所以没有改变DLL(它不在我手中)任何改变脚本以获得正确的路径。 – anbuselvan

回答