1.监测COM口
2.定时判断文件最后修改时间
function GetFileLastWriteTime(FileName: string):TDateTime;
var
; ffd: TWin32FindData;
; dft: DWord;
; lft: TFileTime;
; h: THandle;
begin
; //获取文件信息
; h := Windows.FindFirstFile(PChar(FileName),ffd);
; if h <> INVALID_HANDLE_VALUE then
; begin
; ; //we′relookingforjustonefile,socloseour″find″
; ; Windows.FindClose(h);
; ; //converttheFILETIMEtolocalFILETIME
; ; FileTimeToLocalFileTime(ffd.ftLastWriteTime,lft);
; ; //convertFILETIMEtoDOStime
; ; FileTimeToDosDateTime(lft, LongRec(dft).Hi, LongRec(dft).Lo);
; ; //finally,convertDOStimetoTDateTimeforuseinDelphi′snativedate/timefunctions
; ; Result := FileDateToDateTime(dft);
; end
; else
; ; Result := Now;
end;
3.可能是最好的解决方法,就是监测文件变化,一旦变化发出通知,在<Windows高级编程>里有这么
一节,相信Delphi,EditPlus等都采用的这种方法,我从api help里没找到这个,可能要自己仿照
C的格式声明一下.