
17.03.2012, 00:52
|
 |
.
|
|
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
|
|
Пример на API:
Код:
//---------------------------------------------------------
// MouseEvent
//---------------------------------------------------------
function CallTrackMouseEvent(const Wnd: HWND; const Flags: DWORD): Boolean;
var
Track : TTrackMouseEvent;
begin
Track.cbSize := SizeOf(Track);
Track.dwFlags := Flags;
Track.hwndTrack := Wnd;
Track.dwHoverTime := 0;
Result := TrackMouseEvent(Track);
end;
//---------------------------------------------------------
// TaskBar icon
//---------------------------------------------------------
function TaskBarAddIcon(hWindow: THandle; ID: Cardinal; ICON: hIcon;
CallbackMessage: Cardinal; Tip: PChar): Boolean;
var
NID: TNotifyIconData;
begin
FillChar(NID, SizeOf(TNotifyIconData), 0);
with NID do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := hWindow;
uID := ID;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
uCallbackMessage := CallbackMessage;
hIcon := Icon;
lstrcpyn(szTip, Tip, SizeOf(szTip));
end;
Result := Shell_NotifyIcon(NIM_ADD, @NID);
end;
//---------------------------------------------------------
function TaskBarModifyIcon(hWindow: THandle; ID: Cardinal; Flags: Cardinal;
ICON: hIcon; Tip: PChar): Boolean;
var
NID: TNotifyIconData;
begin
FillChar(NID, SizeOf(TNotifyIconData), 0);
with NID do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := hWindow;
uID := ID;
uFlags := Flags;
hIcon := Icon;
lstrcpyn(szTip, Tip, SizeOf(szTip));
end;
Result := Shell_NotifyIcon(NIM_MODIFY, @NID);
end;
//---------------------------------------------------------
function TaskBarDeleteIcon(hWindow: THandle; ID: Integer): Boolean;
var
NID: TNotifyIconData;
begin
FillChar(NID, SizeOf(TNotifyIconData), 0);
with NID do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := hWindow;
uID := ID;
end;
Result := Shell_NotifyIcon(NIM_DELETE, @NID);
end;
Опоздал 
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
|