Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.043 c
3-1173596390
Ulugbek
2007-03-11 09:59
2007.05.27
Помогите с задачкой RFT файлом


3-1173266545
__DATA__
2007-03-07 14:22
2007.05.27
Refresh в компоненте IbDataSet не работает


15-1178009480
Nic
2007-05-01 12:51
2007.05.27
Глючит Canvas в Win Vista


1-1174823514
Alexey (AZ)
2007-03-25 15:51
2007.05.27
Dispose pointer variable by nil?


2-1178530430
Dmitry___
2007-05-07 13:33
2007.05.27
Отслеживание отсоединения dll от процесса




   Наверх