GetModuleFilename返回通过VBScript运行的错误文件夹名称

时间:2015-10-19 12:07:29

标签: c++ vbscript

我正在为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);
}

1 个答案:

答案 0 :(得分:1)

Rauls感谢您说modulehandle。 使用Modulehandle解决了.. 来源 - http://www.codeproject.com/Articles/16598/Get-Your-DLL-s-Path-Name