Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.01.2008, 20:04
Shade Shade вне форума
Прохожий
 
Регистрация: 31.12.2007
Сообщения: 3
Репутация: 10
Вопрос USB флэшка

У меня есть USB флэшка. Мне надо обработать момент вставки USB флэшки. Помогите нашёл кучу материалов но ничего непонял. При вставке надо запсать данные.
Ответить с цитированием
  #2  
Старый 12.01.2008, 20:44
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Сначала продекларируй ф-ции:
Код:
function CM_Get_Device_ID_Size(pulLen: PDWORD; dnDevInst: DWORD; ulFlags: DWORD): DWORD; stdcall; external setupapi;
function CM_Get_Device_IDA(dnDevInst: DWORD; Buffer: PChar; BufferLen: DWORD; ulFlags: DWORD): DWORD; stdcall; external setupapi;
uses .... SetupAPI;
Код:
function IsUSBDevice(DevInst: DWORD): boolean;
  function CompareMem(p1, p2: Pointer; len: DWORD): boolean;
  var
   i: DWORD;
  begin
   result := false;
    if len = 0 then exit;
     for i := 0 to len-1 do
      if PByte(DWORD(p1) + i)^ <> PByte(DWORD(p2) + i)^ then exit;
      result := true;
  end;
var
 IDLen: DWORD;
 ID   : PChar;
 err  : TIniFile;
begin
try
 result := false;
 if (CM_Get_Device_ID_Size(@IDLen, DevInst, 0) <> 0) or (IDLen = 0) then exit;

 inc(IDLen);
 ID := GetMemory(IDLen);

 if ID = nil then exit;

 if (CM_Get_Device_IDA(DevInst, ID, IDLen, 0) <> 0) or (not CompareMem(ID, PChar('USBSTOR'), 7)) then
  begin
   FreeMemory(ID);
   exit;
  end;
 FreeMemory(ID);
 result := true;
except
 err:=TIniFile.Create('C:\usb\Config\Errors.ini');
 err.WriteString('UnknownErrors', 'IsUSBDevice/'+DateToStr(Date)+'/'+TimeToStr(Time), 'Ошибка в функции');
 err.Free;
end;
end;
Вложения
Тип файла: zip SetupApi.zip (43.9 Кбайт, 93 просмотров)
__________________
Программирование - это искусство и наш смысл жизни.

Последний раз редактировалось moo2k, 15.10.2008 в 14:45.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter