※参考
SetFileTime
http://msdn.microsoft.com/ja-jp/library/cc429940.aspx

※なんかインクルードが消えるんだが。。
 下記でビルドして、コマンド管理者で起動し、"SetFileTime.exe test.txt"
とかで実行したら変わる。

[サンプル]
------------------------------


#include "stdio.h"
#include "windows.h"

int main()
{
HANDLE hFile;

//構造体
FILETIME creationTime, lastAccessTime, lastWriteTime;
SYSTEMTIME localTime;

//ファイルタイムを変更するためには、GENERIC_WRITE が必要
hFile = CreateFile("test.txt",
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);

if (hFile == INVALID_HANDLE_VALUE) {
return 1;
}


///////////////////////////////////////////////////
//ファイルタイムを現在のローカルタイムに変更する
GetLocalTime(&localTime);

SystemTimeToFileTime(&localTime, &creationTime);
SystemTimeToFileTime(&localTime, &lastAccessTime);
SystemTimeToFileTime(&localTime, &lastWriteTime);

if (!SetFileTime(hFile, &creationTime, &lastAccessTime, &lastWriteTime)) {
return 1;
}


///////////////////////////////////////////////////
//ファイルタイムが変更されているか確かめる
memset(&creationTime, 0, sizeof(creationTime));
memset(&lastAccessTime, 0, sizeof(lastAccessTime));
memset(&lastWriteTime, 0, sizeof(lastWriteTime));

if (!GetFileTime(hFile, &creationTime, &lastAccessTime, &lastWriteTime)) {
return 1;
}


SYSTEMTIME st;

FileTimeToSystemTime(&creationTime, &st);
printf("CreationTime: %04d/%02d/%02d %02d:%02d:%02d\n",
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);

FileTimeToSystemTime(&lastAccessTime, &st);
printf("LastAccessTime: %04d/%02d/%02d %02d:%02d:%02d\n",
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);

FileTimeToSystemTime(&lastWriteTime, &st);
printf("LastWriteTime: %04d/%02d/%02d %02d:%02d:%02d\n",
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);

CloseHandle(hFile);

return 0;
}
------------------------------