C++调用VBS问题
起因是这样的,要在C++中调用当前文件夹下的一个批处理文件,但是又不想在调用时弹出DOS窗口,看网上说可以使用VBS调用批处理文件,然后在C++代码中调用这个VBS,于是按照这种方式搞了,但现在好像调用不起来,对VBS不是很熟,感觉应该是路径的问题,单独执行VBS文件可以调用批处理文件,但是在C++中调用VBS就无法完成,请各位高手帮忙看下,不胜感激!
注:
VBS文件,批处理文件均放在C++Debug文件夹内
批处理文件:Config.bat
VBS文件:TestConnect.vbs
VBS内容:
DIM objShell
set objShell=wscript.createObject("wscript.shell")
path = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
cmd = path\"Config.bat"
iReturn=objShell.Run("cmd.exe /C cmd", 0, TRUE)
C++调用内容:
CString strbuff;
GetModuleFileName(NULL, strbuff.GetBuffer(_MAX_PATH), _MAX_PATH);
strbuff.ReleaseBuffer();
int npos = strbuff.ReverseFind('\\');
CString strlocation = strbuff.Left(npos);
CString strfulllocation = strlocation + strScriptName;
ShellExecute(NULL, _T("open"), strfulllocation, NULL, NULL, SW_SHOWNORMAL);