C++ 执行 cmd 命令使用 system 函数,执行成功,函数返回值为 0,失败返回值为 非零值。
如果磁盘已经映射,再次映射,会抛错,所以,在程序退出之前需要删除磁盘映射。
磁盘映射命令:
net use z: "ServerURL" "/user:ServerUser" ServerPassword
z: 后面需要一个空格
删除磁盘映射命令:
net use z: /del /yes
system 函数的参数是一个 const char * 类型
如果在程序中传递命令串的参数是 CString 类型,需要将 CString 类型转换成 const char * 类型
如果在 VC++ 环境下,字符集是 unicode, 将 CString 类型转换成 const char * 类型的方法如下:
CString strCommend = _T("net use z: \"ServerURL\" \"/user:ServerUser\" ServerPassword"); //这时候引号中的引号需要转义
char strParam[256] = {0};
wcstombs(strParam, strCommend, strCommend.GetLength());
const char * pCommend = strParam;
int ret = system(pCommend);
if ( 0 == ret)
return TRUE;
else
return FALSE;