YZ2009 发表于 2009-4-9 19:09:42

请问有什么办法可以让INI文件以独占模式打开,并可以正常调用。

就是自身程序才可以读与写INI文件,别的程序不能读取。一打开就提示正在使用之类的。

[ 本帖最后由 YZ2009 于 2009-4-9 20:26 编辑 ]

akmm88 发表于 2009-4-9 19:41:51

用API来打开文件的话,本身就有这些功能了,不够呢,也只能用API的读写函数.

提供一个简便的方法,就是 ,当然还得要有API.
LockFile 函数 原形 百度一下.
还有个LockFileEX.你都试试吧.

还有一种方法就是, 用CREATEFILE来打开,你自己要读写,就把句柄关闭,不用了,又打开.

总体来说,没什么鸟用. 注册表文件够牛B吧,提到DEBUG都不能访问.
用冰刃照样可以复制.

YZ2009 发表于 2009-4-9 20:26:11

Func _LockFile($iFileHandle, $bLock = True)
    If $iFileHandle Then
      If $bLock = True Then
; Lock File
            $dLock = DllCall("kernel32.dll", "int", "LockFile", "str", $iFileHandle, "dword", 0, "dword", 32, "dword", 4, "dword", 28)
            If Not @error Then
                Return 1
            Else
                SetError(2); Could not lock file
            EndIf
      Else
; Unlock file
            $uLock = DllCall("kernel32.dll", "int", "UnlockFile", "str", $iFileHandle, "dword", 0, "dword", 32, "dword", 4, "dword", 28)
            If Not @error Then
                Return 1
            Else
                SetError(3); Could not unlock file
            EndIf
      EndIf
    Else
      SetError(1); No File Handle
    EndIf
EndFunc

rho123 发表于 2009-4-9 20:39:27

把INI加密。呵呵 :face (19):

secty9530 发表于 2009-11-17 11:57:56

DllCall ( "kernel32.dll", "long", "_lopen" , "string", "d:\1.txt", "long", 0x10 )
页: [1]
查看完整版本: 请问有什么办法可以让INI文件以独占模式打开,并可以正常调用。