备忘。
IShellFolder2 *pisf = NULL;
...
const SHCOLUMNID SCID_DateDeleted = { PSGUID_DISPLACED, PID_DISPLACED_DATE };
//获取删除时间
VARIANT vt;
pisf->GetDetailsEx(idlCurrent, &SCID_DateDeleted, &vt);
this->DATEToStrtime((double)vt.date, vec_recycles_info_[i].delete_time);
//printf("%s\n", vec_recycles_info_[i].delete_time);
VariantClear(&vt);
//时间形式转换函数
void RecyclesParse::FiletimeToStrtime(const FILETIME ft_, char *strtime)
{
SYSTEMTIME st_;
FileTimeToSystemTime(&ft_, &st_);
TIME_ZONE_INFORMATION zinfo;
GetTimeZoneInformation(&zinfo);
SYSTEMTIME localTime;
memset(&localTime, 0, sizeof(SYSTEMTIME));
SystemTimeToTzSpecificLocalTime(&zinfo, &st_, &localTime);
sprintf(strtime, "%04d-%02d-%02d %02d:%02d:%02d",
localTime.wYear,
localTime.wMonth,
localTime.wDay,
localTime.wHour,
localTime.wMinute,
localTime.wSecond);
}