|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Ошибка защиты от записи |
|
[решено] Ошибка защиты от записи
|
Ветеран Сообщения: 1202 |
Программа работает с картами памяти и USB флешками. Нередко бывает, что у SD-карты переключатель сдвинут в положение "LOCK", и карта не работает на запись. Перед считыванием данных я сделал проверку на запись: кладу файл на карту. Если успешно удаляю и делаю отметку, что запись возможна, если же нет, то делаю отметку что невозможна. Но каждый раз появляется надоедливое окно. Как его убрать?
![]() |
|
------- Отправлено: 13:25, 13-03-2015 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sLiDeR-X:
Для этого нужно увидеть код программы, или её часть, но в рабочем состояний (та часть которая обращается к флешке). |
|
------- Отправлено: 17:35, 13-03-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать $sDrive = "H:\" $sTmpFileName = $sDrive & "test.tmp" ConsoleWrite($sDrive & " " & DriveStatus($sDrive) & ' ' & DriveGetType($sDrive) & @LF) $hFile = FileOpen ( $sTmpFileName ,1 ) If $hFile==-1 Then ConsoleWrite("Error open file in write mode." & @LF) Else ConsoleWrite("Ok." & @LF) FileClose ($hFile) FileDelete ($sTmpFileName) EndIf |
Отправлено: 17:53, 13-03-2015 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать #include <WinAPIFiles.au3> ;... $hFile = -1 If _WinAPI_IsWritableEx($sDrive) Then $hFile = FileOpen($sTmpFileName, 1) EndIf ;... Func _WinAPI_IsWritableEx($sDrive) Local $hFile = _WinAPI_CreateFileEx('\\.\' & $sDrive, $OPEN_EXISTING, 0, $FILE_SHARE_READWRITE) If @error Then Return SetError(@error + 20, @extended, False) Local $aRet = DllCall('kernel32.dll', 'bool', 'DeviceIoControl', 'handle', $hFile, 'dword', 0x00070024, 'ptr', 0, 'dword', 0, _ 'ptr', 0, 'dword', 0, 'dword*', 0, 'ptr', 0) Local Const $ERROR_WRITE_PROTECT = 19 ; The media is write protected. If __CheckErrorCloseHandle($aRet, $hFile, 1) <> 10 And @extended = $ERROR_WRITE_PROTECT Then Return SetError(@error, @extended, False) Return $aRet[0] EndFunc |
------- Отправлено: 18:46, 13-03-2015 | #4 |
Ветеран Сообщения: 1202
|
Профиль | Отправить PM | Цитировать Mike909, это ничем не отличается от того, как сделано у меня. Окно появляется!
Creat0R, спасибо! Функция _WinAPI_IsWritableEx($sDrive) работает. |
|
------- Отправлено: 22:09, 13-03-2015 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
HDD - Нужен USB HDD 2.5" 500...700 Гб. с кнопкой защиты от записи... | DENIS451 | Выбор отдельных компонентов компьютера и конфигурации в целом | 0 | 23-12-2010 13:43 | |
ошибка защиты | Guest | Microsoft Windows 95/98/Me (архив) | 14 | 13-05-2004 08:12 | |
Ошибка защиты в модуле | Casper | Хочу все знать | 3 | 21-01-2004 16:37 | |
оперативка и ошибка защиты | troy4u | Microsoft Windows 95/98/Me (архив) | 3 | 02-12-2003 18:59 |
|