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;