728x90
반응형
디렉토리 명을 호출시 받아오고 그 디렉토리 명을 검사해서 있으면 만들지 않고 지나가게 됩니다.
원래 CreateDirectory 함수는 맨 하위 디렉토리만을 생성하는 녀석이라 부모 디렉토리가 없으면 디렉토리를 생성하지 못합니다. 그래서 문자를 하나하나 검사해서 상위 디렉토리부터 하나하나 다 만들어주게 하였습니다~
#include <shlwapi.h>
#pragma comment(lib, "shlwapi")
BOOL CreateDirectoryFunc(LPCTSTR path)
{
TCHAR szPathBuffer[MAX_PATH];
UINT len = lstrlen(path);
for(UINT i = 0; i < len; i++)
{
szPathBuffer[i] = *(path + i);
if(szPathBuffer[i] == TEXT('\\') || szPathBuffer[i] == TEXT('/'))
{
szPathBuffer[i + 1] = NULL;
if(!PathFileExists(szPathBuffer))
{
if(!CreateDirectory(szPathBuffer, NULL))
{
if(GetLastError() != ERROR_ALREADY_EXISTS)
return FALSE;
}
}
}
}
return TRUE;
}
여기서 주위할점은 PathFileExists 함수는 shlwapi.h 해더를 include 시켜야 된다는 것을 잊으면 안 됩니다~
그렇게 어렵지는 않지요?? ㅎㅎ
출처 : 생각이 나지 않아...못적었어요 ㅜ_ㅜ 죄송합니다~
728x90
반응형
'API' 카테고리의 다른 글
1초에 한번씩 캡쳐 화면 파일로 저장하기 (0) | 2010.03.27 |
---|---|
Win API Timer (0) | 2010.03.21 |
캡쳐 화면 BMP로 저장하기 (0) | 2010.03.14 |
메뉴의 단축키, 액셀러레이터 생성 (0) | 2010.03.12 |
메뉴 만들기 (1) | 2010.03.11 |
포커스가 있는 윈도우 캡쳐 (0) | 2010.03.10 |
API로 구현한 전체화면 캡쳐 소스 (0) | 2010.03.09 |
DC 구조체에 관해.... (1) | 2010.03.09 |
버튼 생성 (0) | 2010.03.06 |
API의 첫 시작 (0) | 2010.03.05 |