想用C#给文件加锁,用C#调用API中的LockFile给文件加锁要怎么写,请高手给写个例子
谢谢

解决方案 »

  1.   

    你打一个文件的时候就可锁住他.
    System.IO.FileShare 
    不用api的.
      

  2.   

    文件一直开着(System.IO.FileShare),就能锁住他
      

  3.   

    lockfile 可以实现的功能比打开或共享一个文件来锁住的功能要多的多
      

  4.   

    调用也不是很复杂
    函数原型
    BOOL LockFile(
      HANDLE hFile,//改为intptr 通过createfile获得
      DWORD dwFileOffsetLow,
      DWORD dwFileOffsetHigh,
      DWORD nNumberOfBytesToLockLow,
      DWORD nNumberOfBytesToLockHigh 
    );
    剩下的应该不用说了
      

  5.   

    [DllImport("kernel32.dll")]
    private static extern LockFile(IntPtr hFile,ulong dwFileOffsetLow,ulong dwFileOffsetHIgh,ulong nNumberOfBytesToLockLow,ulong nNumberOfBytesToLockHigh);首先自然是导入,导入之后就可以象其他方法一样使用了。
      

  6.   

    BOOL   LockFile( 
        HANDLE   hFile, 
        DWORD   dwFileOffsetLow, 
        DWORD   dwFileOffsetHigh, 
        DWORD   nNumberOfBytesToLockLow, 
        DWORD   nNumberOfBytesToLockHigh 
    ); 
    打开文件操作,不关闭就锁住
    如果加锁文件的进程终止,或者文件关闭时还未解锁,操作系统会自动解除对文件的锁定