[WinAPI] Tray i Shell Service Objects

0

Witam.

Tworzę soebie w wolnych chwilach własnego shella.
Na razie skupiam się na dopracowaniu Tray-a. Jednak jest problem z menu kontekstowym itd.
Działa na wszystkich programach prócz ikon sieciowych.
Ikony sieciowe mam dwie - jedna dotyczy domowego LAN-u, druga sieci bezprzewodowej.
Sound Volume reaguje poprawnie.

Robię to tak:

    WM_LBUTTONDOWN, WM_LBUTTONUP, WM_RBUTTONDOWN, WM_RBUTTONUP:
    begin
      //P.X := LoWord(lPar);
      //P.Y := HiWord(lPar);
      GetCursorPos(P);
      ScreenToClient(H, P);
      Numer := 0;
      Numer := Floor(P.X / (FIconWidth + FIconSpacing)); //Wyliczam sobie numer ikonki
      Pozycja := 0; //Zmienna pomocnicza, nie jest zwiększana, gdy aktualna ikona jest ukryta
      Tmp := Root;
      if Numer > 0 then
      while (Tmp <> nil) and (Pozycja < Numer) do
      begin
        Tmp := Tmp^.NextIcon;
        if Tmp <> nil then
          if ((not Tmp^.Data.bHidden) and (not Tmp^.Data.bShared)) then Inc(Pozycja);
      end;
      //tak wysyłam komunikat:
      if Tmp <> nil then PostMessage(Tmp^.Data.hWnd, Tmp^.Data.uCallbackMsg, Tmp^.Data.uID, uMsg);
    end;
0

Po pierwsze - nie ten dział.
Po drugie - Zdaje się że ktoś już o tym pisał, poza tym chyba jakiś COM do tego był...

0

Napisałem temat w tym dziale, bo chcę aby temat zobaczyli ludzie, którzy znają nie tylko Delphi.

manfredek napisał(a)

Po drugie - Zdaje się że ktoś już o tym pisał (..)

Jeśli masz na myśli użytkownika "crayze" to inforumuję, że jego posty przeczytałem - nie ma tam odpowiedzi na moje pytanie, on sam również nie wie - pytałem go.

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