Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: CL | DM;

Вниз

помогите найти компоненты для пработы с USB   Найти похожие ветки 

 
vodvorezlaya   (2006-08-16 13:52) [0]

помогите найти компоненты для пработы с USB

цель, создать(свой) сервис который будет отлавливать подключение флешки и запрещать к ней доступ.


 
DimaBr   (2006-08-16 14:21) [1]

Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
vodvorezlaya   (2006-08-16 14:36) [2]

можно немного и угол обзора поменять:

как создать свой компонент который будет отлавливать подключение флешки и запрещать к ней доступ?


 
DimaBr   (2006-08-16 16:12) [3]

Что не получается в построении компонента ?


 
vodvorezlaya   (2006-08-17 08:21) [4]

Я не понимаю как сделать обработчик событий для моего компонента,
и поместить его в инспектор обьектов.

есть код, к примеру:

procedure TForm1.SysTrayIconMsgHandler(var Msg: TMessage);
begin
case Msg.lParam of
   WM_MOUSEMOVE:;
   WM_LBUTTONDOWN:;
   WM_LBUTTONUP:;
   WM_LBUTTONDBLCLK:;
   WM_RBUTTONDOWN:;
   WM_RBUTTONUP:;
   WM_RBUTTONDBLCLK:;
   NIN_BALLOONSHOW: ShowMessage("NIN_BALLOONSHOW");
   NIN_BALLOONHIDE: ShowMessage("NIN_BALLOONHIDE");
   NIN_BALLOONTIMEOUT: ShowMessage("NIN_BALLOONTIMEOUT");
   NIN_BALLOONUSERCLICK: ShowMessage("NIN_BALLOONUSERCLICK") ;
 end;
end;

Эти события вызываются по сообщению из Винды, мне нужно построить столько обработчиков событий сколько здесь элементов (в case) то есть чтоб вместо ShowMessage или пустоты выполнялось то, что я определю в событии.
Подскажите пример хотя бы одного.

Спасибо.


 
DimaBr   (2006-08-17 08:46) [5]


> WM_MOUSEMOVE:;
>    WM_LBUTTONDOWN:;
>    WM_LBUTTONUP:;
>    WM_LBUTTONDBLCLK:;
>    WM_RBUTTONDOWN:;
>    WM_RBUTTONUP:;
>    WM_RBUTTONDBLCLK:;

TMyControl = class(TWinControl)
 protected
   procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
 published
   property OnMouseMove;  
end;

procedure TMyControl.MouseMove(Shift: TShiftState; X, Y: Integer);
begin
 inherited;
 // ваши действия
end;

Про NIN_BALLOON моя делфи ничо не знает.


 
vodvorezlaya   (2006-08-17 09:32) [6]

Я понял твою мысль.
Нет, задача немного иная, у меня компонент прямой наследок класса TComponent.

Про NIN_BALLOON windows знает, у меня уже рабочий вариант,
и каждый NIN_BALLOON наступает при определённых событиях.

Но задача заключается в том: чтобы при наступлении события NIN_BALLOON вызывать созданное нами новое событие и его обработчик определенный в инспекторе обьектов:

procedure TForm1.SysTrayIconMsgHandler(var Msg: TMessage);
begin
case Msg.lParam of
NIN_BALLOONSHOW: <Вот здесь должно вызываться новое событие (например OnNIN_BALLOONSHOW как OnClick напр.)и его обработчик если он есть!(Как Button1Click)>;
 NIN_BALLOONTIMEOUT: ;
  NIN_BALLOONUSERCLICK:;
end;
end;

Задача проста.
Спасибо.


 
DimaBr   (2006-08-17 10:44) [7]


TMyComponent = class(TComponent)
 private
   fOnBalloonShow: TNotifyEvent;
 public
    procedure DoBalloonShow;
 published
   property OnBalloonShow: TNotifyEvent read fOnBalloonShow write fOnBalloonShow;
end;

procedure TMyComponent.DoBalloonShow;
begin
 if Assigned(OnBalloonShow) then OnBalloonShow(self);
end;

procedure TForm1.SysTrayIconMsgHandler(var Msg: TMessage);
begin
case Msg.lParam of
NIN_BALLOONSHOW: MyComponent.DoBalloonShow;
end;
end;


 
vodvorezlaya   (2006-08-17 12:54) [8]

Спасибо.
В яблочко. :)



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
15-1179109412
Slider007
2007-05-14 06:23
2007.06.10
С днем рождения ! 14 мая


2-1179387067
FRAGMIR
2007-05-17 11:31
2007.06.10
ADOconnection


11-1161854783
Thaddy
2006-10-26 13:26
2007.06.10
kolnmck down?


2-1179486498
ambhtr
2007-05-18 15:08
2007.06.10
Как организовать работу case


3-1174902008
Цукор5
2007-03-26 13:40
2007.06.10
создание базы с логическим полем