Главная страница
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.026 c
15-1178891988
Kostafey
2007-05-11 17:59
2007.06.10
Какой специалист с Вашей точки зрения предпочтительней ?


2-1179391221
Подскажите?
2007-05-17 12:40
2007.06.10
Хинт с не влезающими по ширине итемами листбокса


2-1179483933
News
2007-05-18 14:25
2007.06.10
Сетевое приложение


15-1178788010
elserpiente
2007-05-10 13:06
2007.06.10
Профайлер под BDS2006


15-1179151025
Cyrax
2007-05-14 17:57
2007.06.10
Как, пользуясь правилами данного форума, определить судьбу...