wait for answer...............

解决方案 »

  1.   

    初步测试结果如下:◇在2个程序中,同时打开同一个文件,并不会马上导致错误。◇可是,在写入数据的时候:
      后关闭的程序(指关闭文件)会把先关闭的程序(指关闭文件)的数据覆盖掉,覆盖内容从最前面位置覆盖,文件大小维持不变。估计是WriteFile之后,CloseHandle还没有执行,缓冲内容给覆盖。
      
    ◇初步结论:可以同时打开读取内容,可是,不建议同时写内容。
      
      

  2.   

    Private Declare Sub InitializeCriticalSection Lib "kernel32" Alias "InitializeCriticalSection" (lpCriticalSection As CRITICAL_SECTION)
    Private Declare Sub EnterCriticalSection Lib "kernel32" Alias "EnterCriticalSection" (lpCriticalSection As CRITICAL_SECTION)
    Private Declare Sub LeaveCriticalSection Lib "kernel32" Alias "LeaveCriticalSection" (lpCriticalSection As CRITICAL_SECTION)