Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];

Вниз

новое подключение 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.089 c
15-1177501113
UMU
2007-04-25 15:38
2007.05.27
Asus LightScribe


15-1177667659
DeadMeat
2007-04-27 13:54
2007.05.27
Turbo Explorer 2006 под Windows Vista


9-1151171895
delphiman2006
2006-06-24 21:58
2007.05.27
Боты для игр


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


1-1175497383
Ricks
2007-04-02 11:03
2007.05.27
Математика наложения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский