#include "StdAfx.h" #include "StatusMonitor.h" ////////////////////////////////////////////////////////////////////////// CStatusMonitor::CStatusMonitor(void) { m_iScanIdx = -1; for(int iCam=0;iCam= MAX_SCAN_COUNT) return 0; return m_nGrabFrame[iScan]; } void CStatusMonitor::SetGrabEnd(int iScan) { if(iScan < 0 || iScan >= MAX_SCAN_COUNT) return; m_bGrabEnd[iScan] = TRUE; } void CStatusMonitor::SetGrabFrametoScan(int iScan,int nFrame) { if(iScan < 0 || iScan >= MAX_SCAN_COUNT) return; m_nGrabFrame[iScan] = nFrame; } BOOL CStatusMonitor::DeleteFolder(const CString &strFolder) { SHFILEOPSTRUCT FileOp = {0}; TCHAR szTemp[MAX_PATH]; wcscpy_s(szTemp, MAX_PATH, strFolder); szTemp[strFolder.GetLength() + 1] = NULL; // NULL¹®ÀÚ°¡ µÎ°³ µé¾î°¡¾ß ÇÑ´Ù. FileOp.hwnd = NULL; FileOp.wFunc = FO_DELETE; FileOp.pFrom = NULL; FileOp.pTo = NULL; FileOp.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI; // È®Àθ޽ÃÁö°¡ ¾È¶ßµµ·Ï ¼³Á¤ FileOp.fAnyOperationsAborted = false; FileOp.hNameMappings = NULL; FileOp.lpszProgressTitle = NULL; FileOp.pFrom = szTemp; SHFileOperation(&FileOp); return true; } BOOL CStatusMonitor::CheckDirectory(const TCHAR szPathName[], BOOL bDelete/* = FALSE*/) { CFileFind finder; CString strTemp; CString strDir = szPathName; int nPos; BOOL bExist = finder.FindFile(szPathName); if(bDelete == TRUE) { DeleteFolder(szPathName); bExist = FALSE; } if (bExist == FALSE) { nPos = strDir.Find(_T("\\")); nPos = strDir.Find(_T("\\"), nPos+1); while(nPos > 0) { strTemp = strDir.Mid(0,nPos); if(0 < strTemp.GetLength()) { if(CString("\\") == strTemp.GetAt(strTemp.GetLength()-1)) { nPos = strDir.Find(_T("\\"), nPos+1); continue; } } if (finder.FindFile(strTemp) == FALSE) { if(::CreateDirectory(strTemp, NULL) == FALSE) { strTemp.Format(_T("[%s]Folder Create Fail. "), szPathName); //LogMessage(strTemp, 2); return FALSE; } } nPos = strDir.Find(_T("\\"), nPos+1); } } return TRUE; }