如果你用DELPHI6的话有个办法:
当调用PhotoShop后使用ShellChangeNotifier控件,监控你那图形文件所在的目录有没有发生变化
(比如有没有写入啊,大小有没有改变啊等待,可以在NotifyFilters中设置)
如果有的话,再判断你那个图形文件的文件大小(或修改时间)有没有变化。
如果有就重新装载你的图形文件,OK。
做法:
1、将ShellChangeNotifier控件据有的事件Filters都设为False,
2、在装入图形文件时先保存此文件的资料:文件大小。
3、调用PhotoShop后,设定ShellChangeNotifier控件的ROOT为图形文件所在的目录,
并将ShellChangeNotifier的nfWritechange设为TRUE。当有在这个目录写的时候做一个通知。
4、写一过程,在ShellChangeNotifier的OnChange里调用此过程。
5、这个过程里面做的事情是读取指定图形文件的大小资料,和先前保存的资料对比,
如果有变化则将文件重新装载。
6、在适当时候(比如用户观看其它图形文件)时将ShellChangeNotifier据有事件Filters设为False
重新开始。
还有一种方法,就是调用PhotoShop,然后等PhotoShop结束后继续运行程序。
这方面的内容请看网上有关“如何调用一外在程序,并等其运行结束”方面的内容,
因为我也没这样子做过。
又想到有关这方面的事情了:
你们有没有发现,在用Delphi打开一.Pas文件时,如果我们用另一Delphi打开同一个.Pas文件
假设第二个Delphi修改了这个文件的内容,保存后,转到第一个Delphi的时候,它会提示
“Module Path/filename's time/date Changed.Reload?”
它是怎么做的呢?我想了想,明白了,它的这个做法,很适合你的程序。
它的做法是:程序被推让到最前,成为当前程序时,它判断据有它已经装入的文件的时间和日期和
目录中现在的时间和日期比较,如果不一样,则提醒用户要不要重新装载。
你的程序也可以用这种方法啊。