曲径通幽论坛

标题: GetSystemTimeAsFileTime() -- 取得系统时间作为文件时间 [打印本页]

作者: beyes    时间: 2011-9-9 22:31
标题: GetSystemTimeAsFileTime() -- 取得系统时间作为文件时间
GetSystemTimeAsFileTime() 函数是 SystemTimeToFileTime()     GetSystemTime() 的合体,直接用它要比分别调用两个函数要来得更直接与方便。

函数原型:
[C++] 纯文本查看 复制代码
void WINAPI GetSystemTimeAsFileTime(
  __out  LPFILETIME lpSystemTimeAsFileTime
);

函数只有一个参数,即一个 FILETIME 结构类型指针。

示例程序:
[C++] 纯文本查看 复制代码
int _tmain(int argc, LPTSTR argv[])
{
    HANDLE hFile;

    FILETIME fileTime;
    
    hFile = CreateFile(_T("123.txt"), GENERIC_READ|GENERIC_WRITE, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

    GetSystemTimeAsFileTime(&fileTime);

    SetFileTime(hFile, (LPFILETIME)NULL, (LPFILETIME)NULL, &fileTime);
    
    return 0;
}

运行程序之前查看同目录下的 123.txt 文件:
D:\WindowsAPP\setFileTime\Debug>dir
驱动器 D 中的卷是 WinSoft
卷的序列号是 6EAB-3C0C

D:\WindowsAPP\setFileTime\Debug 的目录

2011/09/09  22:30    <DIR>          .
2011/09/09  22:30    <DIR>          ..
2011/09/09  22:30                 8 123.txt
2011/09/09  22:30            29,184 setFileTime.exe
2011/09/09  22:30           311,648 setFileTime.ilk
2011/09/09  22:30         1,657,856 setFileTime.pdb
               4 个文件      1,998,696 字节
               2 个目录 138,163,007,488 可用字节
运行之后:
D:\WindowsAPP\setFileTime\Debug>dir
驱动器 D 中的卷是 WinSoft
卷的序列号是 6EAB-3C0C

D:\WindowsAPP\setFileTime\Debug 的目录

2011/09/09  22:30    <DIR>          .
2011/09/09  22:30    <DIR>          ..
2011/09/09  22:31                 8 123.txt
2011/09/09  22:30            29,184 setFileTime.exe
2011/09/09  22:30           311,648 setFileTime.ilk
2011/09/09  22:30         1,657,856 setFileTime.pdb
               4 个文件      1,998,696 字节
               2 个目录 138,163,007,488 可用字节





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2