hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileA:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileA:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileA:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg
hook:C:\acad.exe, myCreateFileW:filename=D:\Test.dwg上面是一个已经存在的文件,点保存1次,输出的log文件,怎样才能用程序判断哪一个是真正的保存结束?(不要说是最后一个啊,因为会有N个文件交错)

解决方案 »

  1.   

    你的hook是在什么条件下触发的
      

  2.   

    保存的时候一般顺序调用
    CreateFileA/W
    WriteFile
    CloseHandle一个文件如果一次由多个模块分别保存,不太好判断哪个是最后一次吧
      

  3.   

    会不会是由于你在挂钩后调用原始的CreateFileA/W造成的,从而被嵌套
      

  4.   

    LOG的时候记录一下时间,这样你才能看出时间先后啊
      

  5.   

    有时间的,为了看的清楚我去掉了,时间是顺着下来的,不用显示现在基本上可以下个定义了,应用程序读文件有多次,这个贴不用回了,晚些和我的另一个贴子一起结了http://community.csdn.net/Expert/topic/4362/4362028.xml?temp=.7911646