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

标签 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);
}

最佳答案

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

关于c++ - GetModuleFilename 返回通过 VBScript 运行的错误文件夹名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33213990/

相关文章:

c++ - 引用的临时对象的析构函数

java - 通过 jni 将每个引用的参数从 C++ 传递到 Java

C++ 使用树避免循环依赖

xml - 如何使用 VBScript 和 XPATH 查找 XML 中元素的序号位置

c++ - 反转 slider 控件顶部 MFC C++

c++ - boost asio set_verify_callback 泄漏 shared_ptr

php - 您如何使调试代码远离生产环境?

c++ - WinPE 2.0 (Vista) - 使用 VBSCRIPT 和 HTA 应用程序寻找 BrowseForFolder 的解决方案

batch-file - 在不启动终端的情况下从 Windows 中的批处理文件启动可执行文件时如何设置进程优先级

unicode - WScript Sendkey 不接受 Unicode 字符