윈도우 비스타 또는 윈도우 7 에서 사용자 계정 폴더를 가져오는 함수의 소스 코드는 아래와 같다.
022: /**
023: * @brief 현재 사용자 계정 폴더를 리턴한다.
024: * @param pszDir 현재 사용자 계정 폴더 PATH 가 저장될 변수
025: * @param iDirSize pszDir 변수의 크기
026: * @returns 성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
027: */
051: bool GetVistaUserDirectory( char * pszDir, int iDirSize )
052: {
053: OSVERSIONINFO osv;
054:
055: osv.dwOSVersionInfoSize = sizeof(osv);
056: GetVersionEx( &osv );
057:
058: if( osv.dwPlatformId != VER_PLATFORM_WIN32_NT ) return false;
059:
060: char szUserId[255], szRootDir[MAX_PATH];
061: DWORD iLen = sizeof(szUserId);
062:
063: memset( szUserId, 0, sizeof(szUserId) );
064: memset( szRootDir, 0, sizeof(szRootDir) );
065:
066: if( GetUserName( szUserId, &iLen ) == FALSE ) return false;
067: if( GetWindowsDirectory( szRootDir, sizeof(szRootDir) ) == 0 ) return false;
068:
069: _snprintf( pszDir, iDirSize, "%.1s:\\%s\\%s", szRootDir, "users", szUserId );
070:
071: return true;
072: }
'C & C++ > C & C++' 카테고리의 다른 글
Notepad++공개소스 안에 포함된 UTF8, UTF16에 대한 소스 (0) | 2011.12.14 |
---|---|
윈도우 로그아웃 이벤트 (0) | 2011.12.14 |
윈도우 XP 에서 사용자 계정 폴더 가져오는 함수 (0) | 2011.12.14 |
내문서 폴더 경로 (0) | 2011.12.14 |
바탕화면 폴더 경로 (0) | 2011.12.14 |
댓글