我正在为COM创建一个对象
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 :(得分:1)
Rauls感谢您说modulehandle。 使用Modulehandle解决了.. 来源 - http://www.codeproject.com/Articles/16598/Get-Your-DLL-s-Path-Name