3
3h
Unregistered / Unconfirmed
GUEST, unregistred user!
请教关于此两函数之用法。<br>我有程序:<br>procedure TMainForm.Btn1Click(Sender: TObject);<br>Var<br> Q : Integer;<br> ST : TSystemTime;<br> FT : TFileTime;<br>begin<br> ST.wMonth := EditMon.Value;<br> ST.wDayOfWeek := 0;<br> ST.wDay := EditDay.Value;<br> ST.wYear := EditYear.Value + 2000;<br> ST.wHour := EditHour.Value;<br> ST.wMinute := EditMin.Value;<br> ST.wSecond := EditSec.Value;<br> ST.wMilliseconds := 0;<br><br> SystemTimeToFileTime(ST, FT);<br> Q := FileOpen(Edit1.Text, GENERIC_WRITE);<br> if Q <= 0 then<br> Showmessage( '文件:' + Edit1.Text +<br> #10#13 +<br> '打开时失败,可能文件正在被 Windows 独占禁止共享。')<br> Else<br> begin<br> If SetFileTime(Q, @FT, @FT, @FT) then<br> Showmessage( '文件:' + Edit1.Text +<br> #10#13 +<br> '设置日期、时间时失败,可能文件正在被使用,' +<br> #10#13 + '或者被 Windows 独占禁止共享。');<br> FileClose(Q);<br> end;<br> Screen.Cursor := crDefault;<br>end;<br><br>为了不影响大家的集中力,这段东西有所删减,但主线是在的,先打开<br>文件,取得句柄Q,再通过API函数SetFileTime(Q, @FT, @FT, @FT)<br>设置文件的时间,结果是不行,不论怎么样也无法修改文件的日期<br>和时间,将上面一句改为<br>SetFileTime(Q, nil, nil, @FT) 也不行,甚至<br>FileSetDate(Q,0)都不行!<br>请大侠们教我。<br><br>另外请教如果是文件夹应如何处理?