運行錯誤的文件夾名稱我創建一個對象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);
}
請問您可以發佈您的代碼嗎? –
在調用GetModuleFileName之前嘗試使用GetModuleHandle,並將該句柄用作GetModuleFileName中的參數。 –
我以爲wscript.exe文件夾路徑正在返回.. bcoz vb腳本正在運行的幫助下。所以沒有改變DLL(它不在我手中)任何改變腳本以獲得正確的路徑。 – anbuselvan