이 블로그는 http://blog.greenmaru.com으로 이동 하였습니다.
2010년 12월 이후 업데이트는 새로운 블로그를 통해서만 이루어 집니다. 현재 보고 계신 페이지는 2011년 12월에 없어질 예정 이므로, 필요하신 분께서는 새로운 블로그로 링크를 변경해 주시기 바랍니다.
번거롭게 해 드려 죄송합니다.
<greenb>

파일 수정시간을 조작하기 위한 함수

파일 기본 정보인 생성시간/수정시간/접근시간을 조작하기 위한 함수. 역시나 꽁수의 결정판!
간단한 팁이니까 구지 부연설명을 달아두지는 않겠다. 적당히 응용해서 사용하시라~

  1. BOOL _GetFileWriteTime( HANDLE hFile, LPTSTR lpszWriteTime )   
  2. {   
  3.     FILETIME ft;   
  4.     SYSTEMTIME stUTC, stLocal;   
  5.   
  6.     if ( ! GetFileTime( hFile, NULL, NULL, &ft ) )   
  7.         return FALSE;   
  8.   
  9.     FileTimeToSystemTime( &ft, &stUTC );   
  10.     SystemTimeToTzSpecificLocalTime( NULL, &stUTC, &stLocal );   
  11.   
  12.     wsprintf( lpszWriteTime, _T("%04d/%02d/%02d %02d:%02d:%02d"),   
  13.         stLocal.wYear, stLocal.wMonth, stLocal.wDay,    
  14.         stLocal.wHour, stLocal.wMinute, stLocal.wSecond );   
  15.   
  16.     return TRUE;   
  17. }   
  18.   
  19. BOOL _SetFileWriteTime( HANDLE hFile, LPCTSTR lpszWriteTime )   
  20. {   
  21.     FILETIME ft, ft_utc;   
  22.     SYSTEMTIME st;   
  23.     TCHAR buff[5];   
  24.   
  25.     // parse time string   
  26.     _tcsncpy_s( buff, 5, lpszWriteTime, 4 );   
  27.     st.wYear = _ttoi( buff );   
  28.   
  29.     _tcsncpy_s( buff, 5, lpszWriteTime + 5, 2 );   
  30.     st.wMonth = _ttoi( buff );   
  31.   
  32.     _tcsncpy_s( buff, 5, lpszWriteTime + 8, 2 );   
  33.     st.wDay = _ttoi( buff );   
  34.   
  35.     _tcsncpy_s( buff, 5, lpszWriteTime + 11, 2 );   
  36.     st.wHour = _ttoi( buff );   
  37.   
  38.     _tcsncpy_s( buff, 5, lpszWriteTime + 14, 2 );   
  39.     st.wMinute = _ttoi( buff );   
  40.   
  41.     _tcsncpy_s( buff, 5, lpszWriteTime + 17, 2 );   
  42.     st.wSecond = _ttoi( buff );   
  43.   
  44.     st.wMilliseconds = 0;    // ignore   
  45.   
  46.     // local time을 utc time으로 변환하기 위한 꽁수 -_-;   
  47.     SystemTimeToFileTime( &st, &ft );   
  48.     LocalFileTimeToFileTime( &ft, &ft_utc );   
  49.     FileTimeToSystemTime( &ft_utc, &st );   
  50.   
  51.     if ( ! SystemTimeToFileTime( &st, &ft ) )   
  52.         return FALSE;   
  53.   
  54.     if ( ! SetFileTime( hFile, NULL, NULL, &ft ) )   
  55.         return FALSE;   
  56.   
  57.     return TRUE;   
  58. }  
저작자 표시 비영리 변경 금지
Tag // ,

Trackback Address >> http://greenmaru.com/trackback/26 관련글 쓰기

Comment List

  1. BlogIcon 인형 2012/01/11 14:16 address / modify or delete / reply

    과부 사정 홀아비가 안다

  2. BlogIcon 김성환 2012/01/13 06:40 address / modify or delete / reply

    이것은 감사의 말씀을 매우 짧은 주석입니다

|  1  | ...  75  |  76  |  77  |  78  |  79  |  80  |  81  |  82  |  83  | ...  104  |