Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.044 c
15-1177532973
Real
2007-04-26 00:29
2007.05.27
Безопасное извлечение устройства


2-1178714286
Ламер 2.Х
2007-05-09 16:38
2007.05.27
GetSystemInfo


2-1178611830
Lobach
2007-05-08 12:10
2007.05.27
Можно ли в операторе if задавать несколько условий?


15-1177485819
TCrash
2007-04-25 11:23
2007.05.27
документация по MS VisualStudio 7


15-1177640306
Slider007
2007-04-27 06:18
2007.05.27
С днем рождения ! 27 апреля