Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
ВнизUSB Найти похожие ветки
← →
imbalacedees (2006-08-04 17:44) [0]Доброго времени суток.
К примеру подключили USB устройство, как его можно программно отключить. Как отлавливать момент подключения - разобрался. Как получать список устройств - тоже разобрался. А вот как отключить определенное устройство так и не смог понять.
Может кто ссылки подкинет.
С уважением
За ранее спасибо
← →
clickmaker © (2006-08-04 18:55) [1]http://net.mpei.ru/lang/rus/faqw2kxp/jsifaq/rh8496.htm
← →
imbalacedees (2006-08-05 00:45) [2]Эту программу видел.
Просто такая ситуация - мне нужно программно ограничить подключение флэшек, за исключением 1-2(к примеру с определенными серийными номерами). Может что подскажете?
← →
GanibalLector © (2006-08-09 00:36) [3]Тут несколько вариантов.
Первый :зная букву флешки, вызываем CreateFile,а затем DeviceIoContro с
IOCTL_STORAGE_EJECT_MEDIA.
Второй : послать BroadcastSystemMessage с параметром DBT_DEVICEQUERYREMOVE
З.Ы. Сам,естественно,не проверял ;)
← →
imbalacedees (2006-08-10 00:08) [4]Может кто поможет перевести на Delphi
HANDLE hVol;
BOOL res;
char *volname;
volname = "\\\\.\\H:";
hVol = CreateFile(volname,
GENERIC_READ || GENERIC_WRITE,
FILE_SHARE_READ || FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if( hVol == INVALID_HANDLE_VALUE )
{
printf("Unable to open volume %s:\n", volname);
// ErrShow(GetLastError());
return;
}
DWORD nBytesReturned = 0;
res = DeviceIoControl(hVol,IOCTL_STORAGE_EJECT_MEDIA ,
NULL,
0,
NULL,
0,
&nBytesReturned,
NULL);
IOCTL_STORAGE_EJECT_MEDIA - вот здесь компилятор Delphi пишет, что не может найти такую константу
BytesReturned - Что это такое?
← →
ArtemESC © (2006-08-10 00:12) [5]Что-то вроде такого
hVol: Handle;
res: boolean;
volname: PChar;
nBytesReturned: integer;
hVol := CreateFile(volname,
GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if ( hVol <> INVALID_HANDLE_VALUE ) then
напечатать о невалидности
nBytesReturned := 0;
res := DeviceIoControl(hVol,IOCTL_STORAGE_EJECT_MEDIA ,
NULL,
0,
NULL,
0,
&nBytesReturned,
NULL);
& - хрен знает что такое...
← →
ArtemESC © (2006-08-10 00:16) [6]volname = "\\\\.\\H:"; забыл
volname := PChar("\\\\.\\H:");
← →
clickmaker © (2006-08-10 10:51) [7]volname := "\\.\H:";
слэши дублируются только в Си, там это спец-символ
> & - хрен знает что такое...
это операция взятия адреса. В дельфи @. Но многие апи-функции портированы с var-параметрами, поэтому там не надо никаких приставок
← →
imbalacedees (2006-08-10 16:36) [8]Всем спаибо.
Еще вопрос.
При компиляции - ошибка, говорит IOCTL_STORAGE_EJECT_MEDIA - мол нет такой константы
← →
ArtemESC © (2006-08-10 16:50) [9]>>При компиляции - ошибка, говорит IOCTL_STORAGE_EJECT_MEDIA - мол нет >>такой константы
Узнай просто ее значение в си++ и подставь...
← →
ArtemESC © (2006-08-10 16:55) [10]Кажеться она равно этому:
$2D4808
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c