본문 바로가기

MFC

MFC 네트워크 드라이버 연결

ShellExecute함수를 이용하여, CMD에 명령어를 입력하는 방식으로,
네트워크 드라이버를 연결하였다. 

CString strcmd;
strcmd.Format(_T("/c net use Q: \\\\%s\\%s"), path, foldername);
ShellExecute( NULL, _T("OPEN"), _T("CMD"), strcmd, NULL, SW_HIDE);
* '/c'부분 처럼 루트 경로로 이동하여, net use명령어를 입력해야지만 정상동작함.

테스트시 별 문제 없이 연결되었으나, 현장 PC에서는 연결이 되지 않는 문제가 발생하였다.

'/c'부분이 문제인듯 하여, 루트경로로 이동할 필요가 없는 bat(배치)파일을 만들어 
net use명령어를 실행하는 방식으로 해결하였다.

CStdioFile batfile;
CString strbuf;

if(batfile.Open(_T("netXXX.bat"), CFile::modeWrite | CFile::modeCreate))
{
if(strbuf == _T(""))
{
strbuf.Format(_T("net use q: /delete\n net use q: \\\\%s\\Data"), IPaddr);
batfile.WriteString(strbuf);
}

batfile.Close();
::ShellExecute(NULL,NULL, _T("netXXX.bat"), NULL,NULL, SW_HIDE);
}


'MFC' 카테고리의 다른 글

Win32 API 주요 함수  (0) 2012.01.16
[MFC] 내부IP, 외부IP가져오기  (2) 2011.12.21
[MFC] 파일에 사용한 한글이 깨질때..  (0) 2011.12.15
예약작업실행  (0) 2011.12.05
MFC Socket 사용 추가  (0) 2011.10.18