#include <windows.h>
#include <tchar.h>
#include <stdio.h>
BOOL SetFileToCurrentTime(HANDLE hFile)
{
FILETIME ftFileTime;
SYSTEMTIME st;
BOOL bIsChanged;
GetSystemTime(&st); // Åimdiki Sistem Zamanını Al
SystemTimeToFileTime(&st, &ftFileTime); // Åimdiki sistem zamanını "File Time" formatına çevir.
bIsChanged = SetFileTime(hFile, //DeÄŸiÅŸtirilecek dosyaya ait handle
&ftFileTime, //lpCreationTime
&ftFileTime, //lpLastAccessTime
&ftFileTime //lpLastWriteTime
);
return bIsChanged;
}
BOOL GetLastWriteTime(HANDLE hFile, int FileProcess) //opsiyonel, -->dosyaya ait zamanları gösterme.
{
FILETIME ftCreate, ftAccess, ftWrite;
SYSTEMTIME stUTC, stLocal;
// Dosyaya ait olusturmaison erişim ve son değiştirme zamanlarını geri döndür
if (!GetFileTime(hFile, &ftCreate/*olusturma*/, &ftAccess/*son erisim*/, &ftWrite/*son degistirme*/))
return FALSE;
switch (FileProcess)
{
case 1:
//dosyanın olusturma tarihini bugunun tarihi olarak goster...
FileTimeToSystemTime(&ftCreate, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);
printf("olusturulma saati--> %d : %d : %d : %d \n",stLocal.wHour,stLocal.wMinute,stLocal.wSecond, stLocal.wMilliseconds);
printf("olusturulma tarihi--> %d.%d.%d\n",stLocal.wDay,stLocal.wMonth,stLocal.wYear);
break;
case 2:
/////////////////////////////////////////////////////////
//dosyanın son erisim tarihini bugunun tarihi olarak goster...
FileTimeToSystemTime(&ftAccess, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);
printf("son erisim saati--> %d : %d : %d : %d \n",stLocal.wHour,stLocal.wMinute,stLocal.wSecond, stLocal.wMilliseconds);
printf("son erisim tarihi--> %d.%d.%d\n",stLocal.wDay,stLocal.wMonth,stLocal.wYear);
break;
case 3:
/////////////////////////////////////////////////////////
//dosyanın son değiştirme tarihini bugunun tarihi olarak goster...
FileTimeToSystemTime(&ftWrite, &stUTC);
SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);
printf("son degistirme saati--> %d : %d : %d : %d \n",stLocal.wHour,stLocal.wMinute,stLocal.wSecond, stLocal.wMilliseconds);
printf("son degistirme tarihi--> %d.%d.%d\n",stLocal.wDay,stLocal.wMonth,stLocal.wYear);
/////////////////////////////////////////////////////////
break;
default:
printf("Yanlis bir secim yaptiniz");
break;
}
return true;
}
int main()
{
HANDLE hFile;
#if defined _UNICODE
hFile = CreateFile(L"D:\indir.jpg", GENERIC_WRITE, 0, 0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,0);
#elif defined _MBCS
hFile = CreateFile("D:\indir.jpg", GENERIC_WRITE, 0, 0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,0);
#endif
if(hFile == INVALID_HANDLE_VALUE)
{
printf("Dosya olusturma basarisiz... Mesaj : %d\n", GetLastError());
return 0;
}
else
{
printf("\nDosyaya basari ile erisim saglandi...");
}
int iTimeChoice;
printf("\n****DOSYAYA AIT ZAMANLARI GOSTER****\n Olusturma Tarihi -->1 \n Son Erisim Tarihi -->2 \n Degistirme Tarihi -->3");
scanf("%d",&iTimeChoice);
GetLastWriteTime( hFile,iTimeChoice);
if(SetFileToCurrentTime(hFile))
{
printf("\n\nDosya zamanlari basari ile degistirildi\n");
}
else
{
wprintf(L"\n\nDosya zamanlari degistirilemedi\n");
}
#if defined _MBCS
TCHAR A[]=_T("EWtFbb\0koko");
printf("karakter --->>%s \n\n\n",A);
LPTSTR a;
#endif
CloseHandle(hFile);
}