Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Security Center Balloon 
:(
    Опции темы
randy
Дата 18.8.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 28.4.2008

Репутация: нет
Всего: 1



Hi every Body , 
I have my Software in relation with System Security , so i want to add the Feature of Showing Balloon Alerts .

Let's m explain : Most all of you can see a Balloon Alert when you deactivate  the Antivirus  or the Win Firewall and this Balloon is on the Security Center messages Icon in the system try 


Like This :

user posted image


So how could i assign this task to my software i mean when  it's deactivate for example  . 


Regards 

PM MAIL   Вверх
morpheyushka
Дата 20.8.2008, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



Неужели никто не знает...просто мне тоже это может понадобиться)


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
morpheyushka
Дата 20.8.2008, 10:39 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



Use thus code
Код

{ 
  Use the AddSysTrayIcon procedure to add icon to notification area 
  (in FormCreate, for example), and use the ShowBalloonTips procedure 
  when ever you want(of cause must after you called AddSysTrayIcon procedure), 
  and finally call DeleteSysTrayIcon procedure to remove icon from 
  notification area after your using. 
  Add propriety code to the callback message handler. 

  The new feature require IE5 or later. 
} 

unit Unit1; 

interface 

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

{new constant definitions} 

const 
  NIF_INFO = $10; 
  NIF_MESSAGE = 1; 
  NIF_ICON = 2; 
  NOTIFYICON_VERSION = 3; 
  NIF_TIP = 4; 
  NIM_SETVERSION = $00000004; 
  NIM_SETFOCUS = $00000003; 
  NIIF_INFO = $00000001; 
  NIIF_WARNING = $00000002; 
  NIIF_ERROR = $00000003; 

  NIN_BALLOONSHOW = WM_USER + 2; 
  NIN_BALLOONHIDE = WM_USER + 3; 
  NIN_BALLOONTIMEOUT = WM_USER + 4; 
  NIN_BALLOONUSERCLICK = WM_USER + 5; 
  NIN_SELECT = WM_USER + 0; 
  NINF_KEY = $1; 
  NIN_KEYSELECT = NIN_SELECT or NINF_KEY; 
   
  NIN_BALLOONSHOW = WM_USER + 2; 
  NIN_BALLOONHIDE = WM_USER + 3; 
  NIN_BALLOONTIMEOUT = WM_USER + 4; 
  NIN_BALLOONUSERCLICK = WM_USER + 5; 
  NIN_SELECT = WM_USER + 0; 
  NINF_KEY = $1; 
  NIN_KEYSELECT = NIN_SELECT or NINF_KEY; 
  {other constants can be found in vs.net---vc7's dir: PlatformSDK\Include\ShellAPI.h} 

  {define the callback message} 
  TRAY_CALLBACK = WM_USER + $7258; 

  {new NotifyIconData structure definition} 
type 
  PNewNotifyIconData = ^TNewNotifyIconData; 
  TDUMMYUNIONNAME    = record 
    case Integer of 
      0: (uTimeout: UINT); 
      1: (uVersion: UINT); 
  end; 

  TNewNotifyIconData = record 
    cbSize: DWORD; 
    Wnd: HWND; 
    uID: UINT; 
    uFlags: UINT; 
    uCallbackMessage: UINT; 
    hIcon: HICON; 
   //Version 5.0 is 128 chars, old ver is 64 chars 
    szTip: array [0..127] of Char; 
    dwState: DWORD; //Version 5.0 
    dwStateMask: DWORD; //Version 5.0 
    szInfo: array [0..255] of Char; //Version 5.0 
    DUMMYUNIONNAME: TDUMMYUNIONNAME; 
    szInfoTitle: array [0..63] of Char; //Version 5.0 
    dwInfoFlags: DWORD;   //Version 5.0 
  end; 


type 
  TForm1 = class(TForm) 
    procedure FormCreate(Sender: TObject); 
    procedure FormDestroy(Sender: TObject); 
  private 
    IconData: TNewNotifyIconData; 
    procedure SysTrayIconMsgHandler(var Msg: TMessage); message TRAY_CALLBACK; 
    procedure AddSysTrayIcon; 
    procedure ShowBalloonTips; 
    procedure DeleteSysTrayIcon; 
  public 
  end; 

var 
  Form1: TForm1; 

implementation 

{$R *.DFM} 

uses 
  ShellAPI; 

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:; 
    //followed by the new messages 
    NIN_BALLOONSHOW: 
    {Sent when the balloon is shown} 
      ShowMessage('NIN_BALLOONSHOW'); 
    NIN_BALLOONHIDE: 
    {Sent when the balloon disappears?Rwhen the icon is deleted, 
    for example. This message is not sent if the balloon is dismissed because of 
    a timeout or mouse click by the user. } 
      ShowMessage('NIN_BALLOONHIDE'); 
    NIN_BALLOONTIMEOUT: 
    {Sent when the balloon is dismissed because of a timeout.} 
      ShowMessage('NIN_BALLOONTIMEOUT'); 
    NIN_BALLOONUSERCLICK: 
    {Sent when the balloon is dismissed because the user clicked the mouse. 
    Note: in XP there's Close button on he balloon tips, when click the button, 
    send NIN_BALLOONTIMEOUT message actually.} 
      ShowMessage('NIN_BALLOONUSERCLICK'); 
  end; 
end; 

  {AddSysTrayIcon procedure add an icon to notification area} 
procedure TForm1.AddSysTrayIcon; 
begin 
  IconData.cbSize := SizeOf(IconData); 
  IconData.Wnd := AllocateHWnd(SysTrayIconMsgHandler); 
  {SysTrayIconMsgHandler is then callback message' handler} 
  IconData.uID := 0; 
  IconData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; 
  IconData.uCallbackMessage := TRAY_CALLBACK;   //user defined callback message 
  IconData.hIcon := Application.Icon.Handle;    //an Icon's Handle 
  IconData.szTip := 'Please send me email.'; 
  if not Shell_NotifyIcon(NIM_ADD, @IconData) then 
    ShowMessage('add fail'); 
end; 

{ShowBalloonTips procedure carry out the new feature: Balloon Tips} 
procedure TForm1.ShowBalloonTips; 
var 
  TipInfo, TipTitle: string; 
begin 
  IconData.cbSize := SizeOf(IconData); 
  IconData.uFlags := NIF_INFO; 
  TipInfo := 'Please send me email.'; 
  strPLCopy(IconData.szInfo, TipInfo, SizeOf(IconData.szInfo) - 1); 
  IconData.DUMMYUNIONNAME.uTimeout := 3000; 
  TipTitle := '[email protected]'; 
  strPLCopy(IconData.szInfoTitle, TipTitle, SizeOf(IconData.szInfoTitle) - 1); 
  IconData.dwInfoFlags := NIIF_INFO;     //NIIF_ERROR;  //NIIF_WARNING; 
  Shell_NotifyIcon(NIM_MODIFY, @IconData); 
  {in my testing, the following code has no use} 
  IconData.DUMMYUNIONNAME.uVersion := NOTIFYICON_VERSION; 
  if not Shell_NotifyIcon(NIM_SETVERSION, @IconData) then 
    ShowMessage('setversion fail'); 
end; 

{here's the deletion procedure} 
procedure TForm1.DeleteSysTrayIcon; 
begin 
  DeallocateHWnd(IconData.Wnd); 
  if not Shell_NotifyIcon(NIM_DELETE, @IconData) then 
    ShowMessage('delete fail'); 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
  AddSysTrayIcon; 
  ShowBalloonTips; 
end; 

procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  DeleteSysTrayIcon; 
end; 
end.



--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
morpheyushka
Дата 20.8.2008, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



все эти константы описаны в модуле ShellAPI
можно просто его подключить и не описывать у себя в программе!


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
morpheyushka
Дата 20.8.2008, 16:59 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



randy, download CoolTrayIcon component and install his.
He will allow to realise to you all your purposes.


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
CodeMonkey
Дата 25.8.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



2 morpheyushka:
Вообще-то оригинальный вопрос был про то, как сказать системе, что твоя программа назначена антивирусом, а не про балуны. Читай внимательнее вопрос.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.