Tray - operowanie ikonkami ?

0

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?

0

Poszukaj na forum, już kiedyś o tym było.

0
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.

0

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;
0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1