Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
01.05.2014
Размер:
19.55 Кб
Скачать
//test functions
#include<windows.h>
#include<iostream.h>
#include<string.h>
#include<conio.h>

LPCTSTR GetFileName(LPCTSTR szFileName);
BOOL SlGetFileAttributes(LPCTSTR szFileName);
int Menu(void);
BOOL SlGetFileSize(LPCTSTR szFileName);
BOOL SlGetFileTimeDos(LPCTSTR szFileName);
BOOL SlGetFileTimeSystem(LPCTSTR szFileName);
BOOL SlSetFileAttributes(LPCTSTR szFileName);
BOOL SlSetFileTimeSystem(LPCTSTR szFileName);
//enum DAYS("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");


int main(void)
{
 char szFileName[MAX_PATH]={0};
 int iAnswer;

	do
	{
		switch(iAnswer=Menu())
		{
		case 1 :GetFileName(szFileName);
				break;
		case 2 :SlGetFileAttributes(szFileName);
				break;
		case 3 :SlGetFileSize(szFileName);
				break;
		case 4 :SlGetFileTimeSystem(szFileName);
				SlGetFileTimeDos(szFileName);
				break;
		case 5 :SlSetFileAttributes(szFileName);
				break;
		case 6 :SlSetFileTimeSystem(szFileName);
		};
		getch();
	}
	while(iAnswer!=7);
	return 0;
}
//*********************************************************************************
BOOL SlGetFileAttributes(LPCTSTR szFileName)
{
 DWORD dwAttrs;
 char lpMsgBuf[1000]={0};

	dwAttrs=GetFileAttributes(szFileName);
	if(dwAttrs==INVALID_FILE_ATTRIBUTES)
	{
		//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
		//cout<<lpMsgBuf<<endl;
		cout<<"ERROR: GetFileAttributes have returned INVALID_FILE_ATTRIBUTES"<<endl;
		return false;
	}
	else
	{
		cout<<szFileName<<"   ";
		if(dwAttrs & FILE_ATTRIBUTE_READONLY) 
			cout<<"R";
		if(dwAttrs & FILE_ATTRIBUTE_HIDDEN) 
			cout<<"H";
		if(dwAttrs & FILE_ATTRIBUTE_SYSTEM) 
			cout<<"S";
		if(dwAttrs & FILE_ATTRIBUTE_ARCHIVE) 
			cout<<"A";
		if(dwAttrs & FILE_ATTRIBUTE_COMPRESSED) 
			cout<<"C";
		if(dwAttrs & FILE_ATTRIBUTE_ENCRYPTED) 
			cout<<"E";
		cout<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_DEVICE) 
			cout<<"     - This attribute is not in use"<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_DIRECTORY) 
			cout<<"     - Directory"<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_NORMAL) 
			cout<<"     - The file or directory has not attributes set"<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_NOT_CONTENT_INDEXED) 
			cout<<"     - The file will not be indexed by the content indexing service"<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_OFFLINE) 
			cout<<"     - The file data has been physically moved to offline storage"<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_REPARSE_POINT) 
			cout<<"     - The file has an associated reparse point"<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_SPARSE_FILE) 
			cout<<"     - The file is a sparse file"<<endl;
		if(dwAttrs & FILE_ATTRIBUTE_TEMPORARY) 
			cout<<"     - The file is being used for temporary storage"<<endl;
		return true;
	}
}
//*********************************************************************************
BOOL SlGetFileSize(LPCTSTR szFileName)
{
 HANDLE hFile;
 char lpMsgBuf[1000]={0};
 LARGE_INTEGER liFileSize;

	hFile=CreateFile(szFileName,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
	if(hFile==INVALID_HANDLE_VALUE)
	{
		//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
		//cout<<lpMsgBuf<<endl;
		cout<<"ERROR: OpenFiles have returned INVALID_HANDLE_VALUE"<<endl;
		return false;
	}
	else
	{
		if(!GetFileSizeEx(hFile,(PLARGE_INTEGER) &liFileSize))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: GetFileSizeEx have returned 0"<<endl;
			return false;
		}
		else
		{
			cout<<"FileSize: "<<liFileSize.HighPart<<endl;
		}
		if(!CloseHandle(hFile))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: CloseHandle have returned 0"<<endl;
			return false;
		}
		return true;
	}
}
//*********************************************************************************
BOOL SlGetFileTimeSystem(LPCTSTR szFileName)
{
 HANDLE hFile;
 char lpMsgBuf[1000]={0};
 FILETIME fltCreationTime,fltLastAccessTime,fltLastWriteTime;
 SYSTEMTIME systCreationTime,systLastAccessTime,systLastWriteTime;

	hFile=CreateFile(szFileName,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
	if(hFile==INVALID_HANDLE_VALUE)
	{
		//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
		//cout<<lpMsgBuf<<endl;
		cout<<"ERROR: OpenFiles have returned INVALID_HANDLE_VALUE"<<endl;
		return false;
	}
	else
	{
		if(!GetFileTime(hFile,&fltCreationTime,&fltLastAccessTime,&fltLastWriteTime))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: GetFileTime have returned 0"<<endl;
			return false;
		}
		else
		{
//----------------------------------SYSTEM-----------------------------------------
			if(!FileTimeToSystemTime(&fltCreationTime,&systCreationTime))
			{
				//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
				//cout<<lpMsgBuf<<endl;
				cout<<"ERROR: FileTimeToSystemTime have returned 0"<<endl;
				return false;
			}
			if(!FileTimeToSystemTime(&fltLastAccessTime,&systLastAccessTime))
			{
				//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
				//cout<<lpMsgBuf<<endl;
				cout<<"ERROR: FileTimeToSystemTime have returned 0"<<endl;
				return false;
			}
			if(!FileTimeToSystemTime(&fltLastWriteTime,&systLastWriteTime))
			{
				//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
				//cout<<lpMsgBuf<<endl;
				cout<<"ERROR: FileTimeToSystemTime have returned 0"<<endl;
				return false;
			}

			//cout<<"CreationTime: "<<CreationTime.dwHighDateTime<<endl;
			//cout<<"LastAccessTime: "<<LastAccessTime.dwHighDateTime<<endl;
			//cout<<"LastWriteTime: "<<LastWriteTime.dwHighDateTime<<endl;
			cout<<"CreationTime:     ";
			cout<<systCreationTime.wYear<<"-"<<systCreationTime.wMonth<<"-"<<systCreationTime.wDay<<"  "<<systCreationTime.wHour<<":"<<systCreationTime.wMinute<<":"<<systCreationTime.wSecond<<":"<<systCreationTime.wMilliseconds<<endl;
			/*cout<<"    Year:         "<<systCreationTime.wYear<<endl;
			cout<<"    Month:        "<<systCreationTime.wMonth<<endl;
			cout<<"    Day:          "<<systCreationTime.wDay<<endl;
			cout<<"    Hour          "<<systCreationTime.wHour<<endl;
			cout<<"    Minute:       "<<systCreationTime.wMinute<<endl;
			cout<<"    Second:       "<<systCreationTime.wSecond<<endl;
			cout<<"    Milliseconds: "<<systCreationTime.wMilliseconds<<endl;
			cout<<"    Day of week:  "<<systCreationTime.wDayOfWeek<<endl;*/
			cout<<"LastAccessTime:   ";
			cout<<systLastAccessTime.wYear<<"-"<<systLastAccessTime.wMonth<<"-"<<systLastAccessTime.wDay<<"  "<<systLastAccessTime.wHour<<":"<<systLastAccessTime.wMinute<<":"<<systLastAccessTime.wSecond<<":"<<systLastAccessTime.wMilliseconds<<endl;
			/*cout<<"    Year:         "<<systLastAccessTime.wYear<<endl;
			cout<<"    Month:        "<<systLastAccessTime.wMonth<<endl;
			cout<<"    Day:          "<<systLastAccessTime.wDay<<endl;
			cout<<"    Hour          "<<systLastAccessTime.wHour<<endl;
			cout<<"    Minute:       "<<systLastAccessTime.wMinute<<endl;
			cout<<"    Second:       "<<systLastAccessTime.wSecond<<endl;
			cout<<"    Milliseconds: "<<systLastAccessTime.wMilliseconds<<endl;
			cout<<"    Day of week:  "<<systLastAccessTime.wDayOfWeek<<endl;*/
			cout<<"LastWriteTime:    ";
			cout<<systLastWriteTime.wYear<<"-"<<systLastWriteTime.wMonth<<"-"<<systLastWriteTime.wDay<<"  "<<systLastWriteTime.wHour<<":"<<systLastWriteTime.wMinute<<":"<<systLastWriteTime.wSecond<<":"<<systLastWriteTime.wMilliseconds<<endl;
			/*cout<<"    Year:         "<<systLastWriteTime.wYear<<endl;
			cout<<"    Month:        "<<systLastWriteTime.wMonth<<endl;
			cout<<"    Day:          "<<systLastWriteTime.wDay<<endl;
			cout<<"    Hour          "<<systLastWriteTime.wHour<<endl;
			cout<<"    Minute:       "<<systLastWriteTime.wMinute<<endl;
			cout<<"    Second:       "<<systLastWriteTime.wSecond<<endl;
			cout<<"    Milliseconds: "<<systLastWriteTime.wMilliseconds<<endl;
			cout<<"    Day of week:  "<<systLastWriteTime.wDayOfWeek<<endl;*/
		}
		if(!CloseHandle(hFile))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: CloseHandle have returned 0"<<endl;
			return false;
		}
		return true;
	}
}
//*********************************************************************************
BOOL SlGetFileTimeDos(LPCTSTR szFileName)
{
 HANDLE hFile;
 char lpMsgBuf[1000]={0};
 FILETIME fltCreationTime,fltLastAccessTime,fltLastWriteTime;
 WORD CreationFatDate,CreationFatTime,LastAccessFatDate,LastAccessFatTime,LastWriteFatDate,LastWriteFatTime;
	
	hFile=CreateFile(szFileName,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
	if(hFile==INVALID_HANDLE_VALUE)
	{
		//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
		//cout<<lpMsgBuf<<endl;
		cout<<"ERROR: OpenFiles have returned INVALID_HANDLE_VALUE"<<endl;
		return false;
	}
	else
	{
		if(!GetFileTime(hFile,&fltCreationTime,&fltLastAccessTime,&fltLastWriteTime))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: GetFileTime have returned 0"<<endl;
			return false;
		}
		else
		{
			if(!FileTimeToDosDateTime(&fltCreationTime,&CreationFatDate,&CreationFatTime))
			{
				//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
				//cout<<lpMsgBuf<<endl;
				cout<<"ERROR: FileTimeToDosDateTime have returned 0"<<endl;
				return false;
			}
			if(!FileTimeToDosDateTime(&fltLastAccessTime,&LastAccessFatDate,&LastAccessFatTime))
			{
				//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
				//cout<<lpMsgBuf<<endl;
				cout<<"ERROR: FileTimeToDosDateTime have returned 0"<<endl;
				return false;
			}
			if(!FileTimeToDosDateTime(&fltLastWriteTime,&LastWriteFatDate,&LastWriteFatTime))
			{
				//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
				//cout<<lpMsgBuf<<endl;
				cout<<"ERROR: FileTimeToDosDateTime have returned 0"<<endl;
				return false;
			}
			cout<<"CreationTime:     ";
			cout<<CreationFatDate|65280<<"-"<<CreationFatDate|240<<"-"<<CreationFatDate|15<<"  "<<CreationFatTime|62464<<":"<<CreationFatTime|1008<<":"<<CreationFatTime|15<<endl;
			cout<<"LastAccessTime:   ";
			cout<<LastAccessDate|(WORD)0xff00<<"-"<<LastAccessFatDate|(WORD)0x00f0<<"-"<<LastAccessFatDate|(WORD)0x000f<<"  "<<LastAccessFatTime|(WORD)0xf400<<":"<<LastAccessFatTime|(WORD)0x03f0<<":"<<LastAccessFatTime|(WORD)0x000f<<endl;
			cout<<"LastWriteTime:    ";
			cout<<LastWriteFatDate|(WORD)0xff00<<"-"<<LastWriteFatDate|(WORD)0x00f0<<"-"<<LastWriteFatDate|(WORD)0x000f<<"  "<<LastWriteFatTime|(WORD)0xf400<<":"<<LastWriteFatTime|(WORD)0x03f0<<":"<<LastWriteFatTime|(WORD)0x000f<<endl;
		}
		if(!CloseHandle(hFile))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: CloseHandle have returned 0"<<endl;
			return false;
		}
		return true;
	}
}
//*********************************************************************************
LPCTSTR GetFileName(LPCTSTR szFileName)
{
	cout<<"Enter FileName: ";
	cin>>(char*)szFileName;
	return szFileName;
}
//*********************************************************************************
int Menu(void)
{
 int iAnswer;

    do
	{	
		system("cls");
		cout<<"***********Menu*************"<<endl;
		cout<<"1 - Vvesti imya file"<<endl;
		cout<<"2 - Posmotret Attributi"<<endl;
		cout<<"3 - Posmotret razmer"<<endl;
		cout<<"4 - Posmotret time"<<endl;
		cout<<"5 - Zadat Atribbuti"<<endl;
		cout<<"6 - Zadat Time"<<endl;
		cout<<"7 - Exit"<<endl;
		cout<<"Vash vibor: ";
		cin>>iAnswer;
	}
	while(iAnswer<1||iAnswer>7);
	return iAnswer;
}
//********************************************************************************
BOOL SlSetFileAttributes(LPCTSTR szFileName)
{
 DWORD dwAttrs=0;
 char lpMsgBuf[1000]={0};
 char cAnswer;

	cout<<"Set Attributes [y/n]"<<endl;
	cout<<"R	      ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_READONLY;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_READONLY;
	cout<<"H	      ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_HIDDEN;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_HIDDEN;
	cout<<"S	      ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_SYSTEM;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_SYSTEM;
	cout<<"A	      ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_ARCHIVE;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_ARCHIVE;
	cout<<"Normal     ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_NORMAL;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_NORMAL;
	cout<<"Not index  ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
	cout<<"Offline    ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_OFFLINE;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_OFFLINE;
	cout<<"Temporary  ";
	cin>>cAnswer;
	if(cAnswer=='y'||cAnswer=='Y')
		dwAttrs=dwAttrs|FILE_ATTRIBUTE_TEMPORARY;
	else
		dwAttrs=dwAttrs&~FILE_ATTRIBUTE_TEMPORARY;
	if(!SetFileAttributes(szFileName,dwAttrs))
	{
		//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
		//cout<<lpMsgBuf<<endl;
		cout<<"ERROR: SetFileAttributes have returned 0"<<endl;
		return false;
	}
	return true;
}
//*********************************************************************************
BOOL SlSetFileTimeSystem(LPCTSTR szFileName)
{
 HANDLE hFile;
 char lpMsgBuf[1000]={0};
 FILETIME fltCreationTime,fltLastAccessTime,fltLastWriteTime;
 SYSTEMTIME systCreationTime,systLastAccessTime,systLastWriteTime;
	
	hFile=CreateFile(szFileName,GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
	if(hFile==INVALID_HANDLE_VALUE)
	{
		//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
		//cout<<lpMsgBuf<<endl;
		cout<<"ERROR: OpenFiles have returned INVALID_HANDLE_VALUE"<<endl;
		return false;
	}
	else
	{
		cout<<"CreationTime:     "<<endl;
		cout<<"    Year:         ";
		cin>>systCreationTime.wYear;
		cout<<"    Month:        ";
		cin>>systCreationTime.wMonth;
		cout<<"    Day:          ";
		cin>>systCreationTime.wDay;
        cout<<"    Hour          ";
		cin>>systCreationTime.wHour;
		cout<<"    Minute:       ";
		cin>>systCreationTime.wMinute;
		cout<<"    Second:       ";
		cin>>systCreationTime.wSecond;
		cout<<"    Milliseconds: ";
		cin>>systCreationTime.wMilliseconds;
		cout<<"    Day of week:  ";
		cin>>systCreationTime.wDayOfWeek;
		if(!SystemTimeToFileTime(&systCreationTime,&fltCreationTime))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: SystemTimeToFileTime have returned 0"<<endl;
			return false;
		}
		cout<<"LastAccessTime:   "<<endl;
		cout<<"    Year:         ";
		cin>>systLastAccessTime.wYear;
		cout<<"    Month:        ";
		cin>>systLastAccessTime.wMonth;
		cout<<"    Day:          ";
		cin>>systLastAccessTime.wDay;
		cout<<"    Hour          ";
		cin>>systLastAccessTime.wHour;
		cout<<"    Minute:       ";
		cin>>systLastAccessTime.wMinute;
		cout<<"    Second:       ";
		cin>>systLastAccessTime.wSecond;
		cout<<"    Milliseconds: ";
		cin>>systLastAccessTime.wMilliseconds;
		cout<<"    Day of week:  ";
		cin>>systLastAccessTime.wDayOfWeek;
		if(!SystemTimeToFileTime(&systLastAccessTime,&fltLastAccessTime))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: SystemTimeToFileTime have returned 0"<<endl;
			return false;
		}
		cout<<"LastWriteTime:    "<<endl;
		cout<<"    Year:         ";
		cin>>systLastWriteTime.wYear;
		cout<<"    Month:        ";
		cin>>systLastWriteTime.wMonth;
		cout<<"    Day:          ";
		cin>>systLastWriteTime.wDay;
		cout<<"    Hour          ";
		cin>>systLastWriteTime.wHour;
		cout<<"    Minute:       ";
		cin>>systLastWriteTime.wMinute;
		cout<<"    Second:       ";
		cin>>systLastWriteTime.wSecond;
		cout<<"    Milliseconds: ";
		cin>>systLastWriteTime.wMilliseconds;
		cout<<"    Day of week:  ";
		cin>>systLastWriteTime.wDayOfWeek;
		if(!SystemTimeToFileTime(&systLastWriteTime,&fltLastWriteTime))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: SystemTimeToFileTime have returned 0"<<endl;
			return false;
		}
		if(!SetFileTime(hFile,&fltCreationTime,&fltLastAccessTime,&fltLastWriteTime))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: SetFileTime have returned 0"<<endl;
			return false;
		}
		if(!CloseHandle(hFile))
		{
			//FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),0,(LPTSTR) lpMsgBuf,0,NULL );
			//cout<<lpMsgBuf<<endl;
			cout<<"ERROR: CloseHandle have returned 0"<<endl;
			return false;
		}
		return true;
	}
}
Соседние файлы в папке Лабораторная работа1