본문 바로가기
C & C++/C & C++

윈도우 XP 에서 사용자 계정 폴더 가져오는 함수

by izen8 2011. 12. 14.
반응형

윈도우 XP 에서 사용자 계정 폴더를 가져오는 함수의 소스 코드는 아래와 같다.

 

022: /**
023: * @brief 현재 사용자 계정 폴더를 리턴한다.
024: * @param pszDir    현재 사용자 계정 폴더 PATH 가 저장될 변수
025: * @param iDirSize  pszDir 변수의 크기
026: * @returns 성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
027: */
028: bool GetUserDirectory( char * pszDir, int iDirSize )
029: {
030:   OSVERSIONINFO osv;
031:
032:   osv.dwOSVersionInfoSize = sizeof(osv);
033:   GetVersionEx( &osv );
034:
035:   if( osv.dwPlatformId != VER_PLATFORM_WIN32_NT ) return false;
036:  
037:   char  szUserId[255], szRootDir[MAX_PATH];
038:   DWORD iLen = sizeof(szUserId);
039:
040:   memset( szUserId, 0, sizeof(szUserId) );
041:   memset( szRootDir, 0, sizeof(szRootDir) );
042:
043:   if( GetUserName( szUserId, &iLen ) == FALSE ) return false;
044:   if( GetWindowsDirectory( szRootDir, sizeof(szRootDir) ) == 0 ) return false;
045:
046:   _snprintf( pszDir, iDirSize, "%.1s:\\%s\\%s", szRootDir, "Documents and Settings", szUserId );
047:
048:   return true;
049: }

반응형

댓글