morgan1991
14-02-2010, 20:48
Здравствуйте!
Не помню где, качал утилиту Block от Creat0R-а вродибы.
Из неё использовал только одну часть:
Func _CreateFile($sFile) ; Функция блокировки файлов/папок
Local Const $GENERIC_READ = 0x80000000
Local Const $GENERIC_WRITE = 0x40000000
Local Const $TempAllFile_FLAG_BACKUP_SEMANTICS = 0x02000000
Local Const $OPEN_EXISTING = 3
Local $iFolderOpen = 0
If _IsFolder($sFile) Then $iFolderOpen = $TempAllFile_FLAG_BACKUP_SEMANTICS
$sFile = "\\.\" & $sFile
Local $aRet = DllCall("kernel32.dll", "hwnd", "CreateFile", _
"str", $sFile, _
"int", BitOR($GENERIC_READ, $GENERIC_WRITE), _
"int", 0, _
"ptr", 0, _
"int", $OPEN_EXISTING, _
"int", $iFolderOpen, _
"int", 0)
Return $aRet[0]
EndFunc
Func _IsFolder($sPath) ; Функция предназначена для проверки, является ли заданый путь каталогом
Return StringInStr(FileGetAttrib($sPath & "\"), "D")
EndFunc
Дак вот на XP работало отлично, а на Windows 7 ноль эмоций...
Помогите пожалуйста, как заблокировать файл для использование на Windows 7?
Не помню где, качал утилиту Block от Creat0R-а вродибы.
Из неё использовал только одну часть:
Func _CreateFile($sFile) ; Функция блокировки файлов/папок
Local Const $GENERIC_READ = 0x80000000
Local Const $GENERIC_WRITE = 0x40000000
Local Const $TempAllFile_FLAG_BACKUP_SEMANTICS = 0x02000000
Local Const $OPEN_EXISTING = 3
Local $iFolderOpen = 0
If _IsFolder($sFile) Then $iFolderOpen = $TempAllFile_FLAG_BACKUP_SEMANTICS
$sFile = "\\.\" & $sFile
Local $aRet = DllCall("kernel32.dll", "hwnd", "CreateFile", _
"str", $sFile, _
"int", BitOR($GENERIC_READ, $GENERIC_WRITE), _
"int", 0, _
"ptr", 0, _
"int", $OPEN_EXISTING, _
"int", $iFolderOpen, _
"int", 0)
Return $aRet[0]
EndFunc
Func _IsFolder($sPath) ; Функция предназначена для проверки, является ли заданый путь каталогом
Return StringInStr(FileGetAttrib($sPath & "\"), "D")
EndFunc
Дак вот на XP работало отлично, а на Windows 7 ноль эмоций...
Помогите пожалуйста, как заблокировать файл для использование на Windows 7?