如何知道文档是否被修改??
程序中用CreateProcess(NULL,...)打开任意文档,如何判断文档是否被修改过?
(不要用判断文档日期的方法)
问题点数:100、回复次数:22Top
1 楼pcman1990(pcman)回复于 2002-06-04 12:45:26 得分 0
无法知道Top
2 楼horsetiger(马虎)回复于 2002-06-04 13:07:46 得分 0
OUTLOOK 就可以知道邮件的附件是否被修改?它怎么知道的?Top
3 楼echoyao(数码动力)回复于 2002-06-04 13:14:43 得分 0
说清楚点你的意思:是指相对什么时候的修改,还是指多进程或者线程的时候的修改呢?Top
4 楼horsetiger(马虎)回复于 2002-06-04 13:14:53 得分 0
UPTop
5 楼horsetiger(马虎)回复于 2002-06-04 13:19:40 得分 0
简单一点吧,单线程情况下。Top
6 楼horsetiger(马虎)回复于 2002-06-04 13:34:13 得分 0
UPTop
7 楼rkt_dijkstra(阿立青)回复于 2002-06-04 16:40:03 得分 0
如果是指用文档类来操作文件,可以用CDocument::IsModified()来判断。Top
8 楼horsetiger(马虎)回复于 2002-06-04 16:56:31 得分 0
不是用文档类来操作文件,是调用别的程序(如WORD)打开文档。Top
9 楼horsetiger(马虎)回复于 2002-06-04 19:09:32 得分 0
急呀!分不够在加!!!Top
10 楼qindq(蜕叟)回复于 2002-06-05 11:03:28 得分 0
Why "不要用判断文档日期的方法" ?Top
11 楼horsetiger(马虎)回复于 2002-06-05 11:08:07 得分 0
因为这样只有在存盘后才能判断。Top
12 楼qindq(蜕叟)回复于 2002-06-05 11:23:43 得分 0
你是说正在修改还是已经修改了?
Top
13 楼anxing(anxing)回复于 2002-06-05 11:28:35 得分 0
先说明,我不懂VC.只知一点C,C++.
我想可以这么做吧.
你加入一个变量在视图类中..在打开时.初时化为0.在你的视图类的键盘事件中改变为1.那么你就可以通过这个量来判断了.呵,我不懂,什么函数.
Top
14 楼anxing(anxing)回复于 2002-06-05 11:34:31 得分 0
再说一点.在你的键盘事件中.你也要看什么时会改变文档.比如按下ESC是不会改变的.呵,想想来太麻烦了.好像我以前是用那个MODIFY函数的.Top
15 楼anxing(anxing)回复于 2002-06-05 11:52:23 得分 0
呵,我明白你的意思了.你原来想用WORD找开啊.我想如果你的文档可以用它打开的话那么,我想改变不改变关你什么事啊.WORD认为那是它的孩子,不是你家的.怎么,难说你想在你的程序的别的模块在WORD中运行?
我不懂VC.说错了.别见笑/Top
16 楼horsetiger(马虎)回复于 2002-06-05 12:32:35 得分 0
实际我要从数据库取出文档,找到相应程序打开,如果做过修改,需存回数据库Top
17 楼rkylin(绝天)回复于 2002-06-05 14:12:03 得分 0
说的都是一点不够实际的话
Top
18 楼qindq(蜕叟)回复于 2002-06-05 15:23:13 得分 100
从数据库取出文档,首先要生成本地临时文件。用word打开后,要一直监视该临时文件的更新时间,时间改了,说明文件已经更新,这时可以存回数据库。在内存中你无法判断,除非打开的程序是你自己写的,自己的程序间可以相互通讯。Top
19 楼horsetiger(马虎)回复于 2002-06-05 16:39:18 得分 0
除了判断时间,还有更好的方法吗?Top
20 楼qindq(蜕叟)回复于 2002-06-06 17:14:59 得分 0
说来,你可能不相信,其实所有MS程序都是用时间判断的。只是判断的时机可以巧妙一些。比如说在自己程序的主窗口收到WM_ACTIVATE时,等等。这样可以不用随时判断。MS 的一些文档中有提示。Top
21 楼hd506lg(让我们一起来吧)回复于 2002-06-06 17:35:46 得分 0
高手看看这里
http://www.csdn.net/expert/topic/784/784002.xml?temp=.6188318Top
22 楼horsetiger(马虎)回复于 2002-06-06 20:00:47 得分 0
看来只能判断时间了,结贴。多谢各位。Top




