UltraEdit提示文件被其他程序修改--是否重新载入---是利用了OnPaint事件吗?(100分)

  • 主题发起人 主题发起人 月亮黑子
  • 开始时间 开始时间

月亮黑子

Unregistered / Unconfirmed
GUEST, unregistred user!
UltraEdit和WinHEX等软件打开一个文件后,如果再用其他程序打开修改并保存这个文件,切换回UltraEdit或WINHEX后,它就会提示“该文件已被修改,是否要重新载入”之类的提示。
这是利用OnPaint事件来实现的吗?
 
应该是利用的Windows外壳扩展吧。
 
那有那么复杂。就是APP得到焦点,然后查一下文件最后修改时间与自己打开时是否相同。
 
肯定不是OnPaint啦,呵呵。
 
应该不是检查时间的
Windows有一套API函数用于监视文件变化的
配合多线和就可以实现变化监视功能了
 
监视文件变化有点复杂
检测文件的修改时间比较简单而且准确
 
OnPaint事件太频繁了,可以用 Application.OnActivate 实现,效率较高。
 
uses ShellCtrls 然后 TShellChangeNotifier.Create ...
 
怎么我的程序OnActivate只是在程序刚一运行时有反应,切换窗口没反应呢?
 

Similar threads

D
回复
0
查看
878
DelphiTeacher的专栏
D
D
回复
0
查看
846
DelphiTeacher的专栏
D
D
回复
0
查看
797
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部