Текущий архив: 2007.05.27;
Скачать: CL | DM;
Внизновое подключение Flash или ZIV Найти похожие ветки
← →
Doom-2 (2007-05-06 10:39) [0]Данная функция должна отследить новое подключение Flash или ZIV-а. Я поместил её в OnTimer1 и началось...
- Return value of function "WindowProc" might be undefined
- Не заданы все параметры... а что такое: (Hwn, msg: longint): longint; stdcall мне не совсем понятно!
Из-за своей необразованности, не могу разобраться с кодом:const DBT_DEVNODES_CHANGED = $7;
function WindowProc(Hwn, msg: longint): longint; stdcall;
var c: char;
drive: string;
begin
if msg=WM_DEVICECHANGE
then begin
if wpr = DBT_DEVNODES_CHANGED then //Состояние устройств изменилось
begin
for c := "D" to "Z" do // Определяем букву устройства
begin
drive := c + ":\";
case GetDriveType(PChar(drive)) of //Проверяем тип устройства
DRIVE_REMOVABLE: // Если флэха, то...
begin
ShowMessage("Обнаружен новый диск!");
end;
end;
end;
end;
end;
end;
← →
Doom-2 (2007-05-06 10:40) [1]Как заставить его работать?
← →
Virgo_Style © (2007-05-06 10:48) [2]Doom-2 (06.05.07 10:40) [1]
Это какой-то ужас, по-моему
← →
Doom-2 (2007-05-06 12:15) [3]С горем пополам разобрался:
type
TForm1 = class(TForm)
public
procedure CD(var Msg: TMessage); message WM_DEVICECHANGE;
end;
const DBT_DEVNODES_CHANGED = $7;
procedure TForm1.CD(var Msg: TMessage);
var c: char;
drive: string;
begin
case Msg.WParam of
DBT_DEVNODES_CHANGED:
begin
for c := "D" to "Z" do // Определяем букву устройства
begin
drive := c + ":\";
case GetDriveType(PChar(drive)) of //Проверяем тип устройства
DRIVE_REMOVABLE: // Если флэха, то...
begin
ShowMessage("Новый диск "+drive);
end;
end;
end;
end;
end;
end;
Возник ещё вопрос:
Почему при подключении Flash-ки сообщение "Новый диск F:\" появляется нормально - 1 раз. Но при безопасном отключении оно выскакивает трижды! Как это исправить?
Страницы: 1 вся ветка
Текущий архив: 2007.05.27;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.041 c