Главная страница
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.062 c
2-1179826391
alles
2007-05-22 13:33
2007.06.10
Работа с Array of Char


15-1179283947
Канадец
2007-05-16 06:52
2007.06.10
Литература для начинающих


2-1179401409
Heart_Beat
2007-05-17 15:30
2007.06.10
Лови пользователя


2-1179526975
Heart_Beat
2007-05-19 02:22
2007.06.10
HELP!


15-1179476065
KARSH
2007-05-18 12:14
2007.06.10
Регрессионный анализ