Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2008, 22:11   #1
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию Проверить подключено ли устройство к usb

Как на дельфи проверить когда устройство(например флешка) подключается к USB?
Иллидан вне форума Ответить с цитированием
Старый 19.01.2008, 22:22   #2
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

отлавлдивай сообщение message WM_DEVICECHANGE;
wparam=32772 отключение устройства
wparam=32778 подключение устройства
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 19.01.2008, 22:41   #3
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

wparam=32772 отключение устройства
wparam=32778 подключение устройства

это для всех устройств или только для флешки??

как определить подключение конкретного устройства, например зная как оно называется в системе!
Никки вне форума Ответить с цитированием
Старый 19.01.2008, 22:47   #4
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

скорее всего для любого учтройства
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 19.01.2008, 22:50   #5
Иллидан
Форумчанин
 
Регистрация: 16.01.2008
Сообщений: 288
По умолчанию

А можно поконкретнее? Что делает WM_DEVICECHANGE? Что значат 32778 и 32772? Ты предлагаешь поставить на таймер :
if WM_DEVICECHANGE=32778 then ?
Иллидан вне форума Ответить с цитированием
Старый 19.01.2008, 23:08   #6
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  protected

  end;
var
  Form1: TForm1;
  MyHandle:HHOOK=0;
implementation
{$R *.dfm}
function MyHook(Code:integer;wParam:word;lParam:Longint):LongInt; StdCall;
begin
        Form1.Label1.Caption:=IntToStr(wParam);
        CallNextHookEx(MyHandle,Code, wParam, lParam);
end;
procedure UnHook;
begin
        UnhookWindowsHookEx(MyHandle);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
        MyHandle:=SetWindowsHookEx(WH_Keyboard,@MyHook,HInstance,0);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
        UnhookWindowsHookEx(MyHandle);
end;

end.
в этой программе в TLabel должны писаться wparam

Уже сиправил! Теперь работает! Это отслеживает нажатия клавиш, а с подключением отключением устройства у меня не получилось!

Последний раз редактировалось Никки; 19.01.2008 в 23:23.
Никки вне форума Ответить с цитированием
Старый 19.01.2008, 23:21   #7
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

Я тебе счасдам исходник там я исследовал сообщение это
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 19.01.2008, 23:26   #8
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

вот обещаный исходник
Вложения
Тип файла: rar analyze_flash.rar (1.1 Кб, 110 просмотров)
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить тип переменной satana Общие вопросы Delphi 10 20.11.2010 21:43
Assembler. Разработать устройство которое считывает из EEPROM типа 24С512 по интерфейсу I2c информацию KEDDDD Фриланс 1 02.09.2008 02:53
Как проверить строку? nikleb PHP 6 07.07.2008 22:04
Флешка оределяется как неизвестное Usb устройство Иллидан Безопасность, Шифрование 9 08.03.2008 22:47
Устройство области - программирование Yogik™ Помощь студентам 3 04.11.2007 20:19