W jaki sposób operować ikonami znajdującymi się w trayu ?
Jaki znacie na to sposób...
Pytanie drugie:
Jak pobrać uid programów z traya?
W jaki sposób operować ikonami znajdującymi się w trayu ?
Jaki znacie na to sposób...
Pytanie drugie:
Jak pobrać uid programów z traya?
Poszukaj na forum, już kiedyś o tym było.
Dominik napisał(a)
Poszukaj na forum, już kiedyś o tym było.
ano było, sam nawet sie pytalem, gdyz chcialem zrobic wlasnego tray'a. Niestety nikt nie wiedzial, a sam nie mialem czasu zeby doglebnie tego szukac.
Qrcze...
O ile miwiadomo jest w przybliżeniu tak:
struct NOTIFYICONDATA
{
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
char szTip[64];
};
Teraz, jeden program może być reprezentowany w trayu przez kilka ikonek
(hWnd jest to samo, inne jest uID)
Wniosek jest prosty... należy pobrać właśnie uID ikonek!
Tylko jak powydobywać te wartości ???
Dla przykładu daję kodzik operujący właśnie na uID
var
nt: TNotifyIconData;
begin
with nt do
begin
cbSize := SizeOf(nt);
Wnd := FindWindow('SystemTray_Main', nil);
uid := 1226;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallbackMessage := WM_USER + 17;
hIcon := 0;
szTip := '';
end;
Shell_NotifyIcon(NIM_DELETE, @nt);
end;
Nie wiem, co autor rozumie przez "operowanie ikonami", ale jeśli chodzi o wylistowanie ich, to w madcollection (http://madshi.net) jest moduł, który to robi. nie pamiętam tylko, czy są jakieś możliwości edycji tychże ikonek.
// są - ŁF