2015-10-19 76 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

回答