Страница: 1 |
Все, что смог найти по сабжу это вот : Исходный код ... то есть, как бы все и хорошо, но не очень ясно с CreateFile? может у кого то есть уже готовое на VB
Может это изврат, но попытайся закрывать в таймере дверцу... )) возможно и такое: удалить устройство через WMI а ещё у как то в определённом случае explorer его блокирует, приходиться его вырубать чтобы открыть дверку(было всего 2 раза) P.S. C приводом в момент блокирования нужно работать. То есть блокировать нужно от Eject'a. Это умеет любая прога для прожига болванок. А что неясного в CreateFile? Единственное - надо учесть, что в Си слэш заменяется на два и произвести обратное преобразование... to Sharp - да все с этим С не ясно ... начал, было, переделывать на нормальное ... CreateFile ("\\\\.\\E:", - на VB это CreateFile("H:\", 1179785, 3, SA, 3, 0, 0) (SA As SECURITY_ATTRIBUTES) а дальше, ... ... констант на DeviceIoControl не видать, да и CreateFile -1 возвращает ... в общем, как и говорил, "может у кого то есть уже готовое на VB " > на VB это CreateFile("H:\", 1179785, 3, SA, 3, 0, 0) Фигня. Во-первых, не "H:\", а именно "\\.\E:" - открывает устройство как файл, а не каталог, во-вторых, GENERIC_READ = &H80000000, а не 1179785 (и вообще лучше писать константы именами, тогда будешь уверен, что передается число, а не ссылка на него), в-третьих, числа желательно помечать символом типа, т.е. & в случае Long. a DeviceIoControl с его IOCTL_STORAGE_MEDIA_REMOVAL ... в целом, та туева хуча параметров ... чего с ними делать > чего с ними делать Искать в заголовочных файлах VC их и подставлять... В Api Viewer нету ... очень, ... очень смешно ... но если побиться головой о стену, она, голова, умнее не станет ... ... можно еще на Micro$oft.com зайти, поискать там, пока не надоест ... я потому и люблю VB, что он помогает работать, а не мешает (как С ) ... ну да хватит флэйму ... будем искать альтернативу в принципе, а не в решении Thanks Напиши DLL на Си и не парься с переводом. И еще: я не уверен, но кажется, приложения Windows защищенного режима не могут вызывать DeviceIoControl... Страница: 1 |
Вопрос: Блокировка привода CDRom
Добавлено: 07.03.04 07:02
Автор вопроса: xShadow | ICQ: 52405490
//заблокировать
void CMFcDlg::OnBnClickedButton1()
{
HANDLE hDevice = CreateFile ("\\\\.\\E:",
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
NULL,
NULL);
DWORD dwBytesReturned = 0;
PREVENT_MEDIA_REMOVAL pmr = {TRUE};
if(!DeviceIoControl (hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, &pmr, sizeof(pmr), NULL, 0, &dwBytesReturned, NULL)) AfxMessageBox ("Door can\'t be locked");
CloseHandle (hDevice);
}
//разблокировать
void CMFcDlg::OnBnClickedButton2()
{
HANDLE hDevice = CreateFile ("\\\\.\\E:",
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
NULL,
NULL);
DWORD dwBytesReturned = 0;
PREVENT_MEDIA_REMOVAL pmr = {FALSE};
if(!DeviceIoControl (hDevice, IOCTL_STORAGE_MEDIA_REMOVAL, &pmr, sizeof(pmr), NULL, 0, &dwBytesReturned, NULL)) AfxMessageBox ("Door can\'t be unlocked");
CloseHandle (hDevice);
}
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #1
Добавлено: 07.03.04 19:22
Номер ответа: 2
Автор ответа:
NeForm@t
ICQ: 252999255
Вопросов: 36
Ответов: 247
Web-сайт:
Профиль | | #2
Добавлено: 07.03.04 22:50
Номер ответа: 3
Автор ответа:
xShadow
ICQ: 52405490
Вопросов: 7
Ответов: 11
Профиль | | #3
Добавлено: 08.03.04 02:17
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 08.03.04 02:39
Номер ответа: 5
Автор ответа:
xShadow
ICQ: 52405490
Вопросов: 7
Ответов: 11
Профиль | | #5
Добавлено: 08.03.04 03:47
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
NULL,
NULL)
Номер ответа: 6
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #6
Добавлено: 08.03.04 14:12
Номер ответа: 7
Автор ответа:
xShadow
ICQ: 52405490
Вопросов: 7
Ответов: 11
Профиль | | #7
Добавлено: 08.03.04 15:40
Номер ответа: 8
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #8
Добавлено: 08.03.04 22:23
Номер ответа: 9
Автор ответа:
xShadow
ICQ: 52405490
Вопросов: 7
Ответов: 11
Профиль | | #9
Добавлено: 09.03.04 01:39
Номер ответа: 10
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #10
Добавлено: 09.03.04 11:27
Номер ответа: 11
Автор ответа:
xShadow
ICQ: 52405490
Вопросов: 7
Ответов: 11
Профиль | | #11
Добавлено: 09.03.04 16:50
... я на VBNet.ru, ... я не пишу на С ... и надеюсь, никогда не придется ...