Dostosowanie powiadomień

dział ogólny

Dostosowanie powiadomień

Nowy postprzez Norbit » sobota, 19 lipca 2008, 19:42

Chciałbym mieć możliwość dostosowywania powiadomień pokazujących się w SysTray we własnym programie. Szukałem już wszędzie i nie wiem od czego zacząć.
Potrzebuję jakiejś choćby najmniejszej wskazówki, żeby mieć punkt wyjścia.

dostosowanie-powiadomien.png
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Avatar użytkownika
Norbit
Bladawiec
Bladawiec
 
Posty: 33
Dołączył(a): wtorek, 15 lipca 2008, 22:43
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 1
    NieznanyNieznana

Re: Dostosowanie powiadomień

Nowy postprzez Cyfrowy Baron » Å›roda, 21 października 2009, 11:11

Póki co udało mi się tylko wymyślić jak pobrać uchwyt do zasobnika systemowego przechowującego te ikony. Mając uchwyt można wysłać komunikat:

Kod: Zaznacz cały
HWND TopWindow, TW2, TW3, TW4;
TopWindow = FindWindow("Shell_TrayWnd", NULL);
TW2 = FindWindowEx(TopWindow, 0, "TrayNotifyWnd", NULL);
TW3 = FindWindowEx(TW2, 0, "SysPager", NULL);
TW4 = FindWindowEx(TW3, NULL, "ToolbarWindow32", NULL);
for (int i = 0; i < 100; i++)
  SendMessage(TW4, TB_HIDEBUTTON, i, true); // true ukrywa ikony, false pokazuje


Powyższy kos spowoduje ukrycie wszystkich ikon w zasobniku posiadających indeksy od 0 do 99, ale nie jest to takie ukrycie jakiego oczekujesz. Wywołanie funkcji SendMessage z ostatnim argumentem ustawionym na false ponownie ukaże ikony, z tym, że pokażą się tam wszystkie ikony jakie zindeksował system, nawet te, które zostały przez system usunięte, ale mają przypisane indeksy.

Niestety nie wiem jeszcze jak pobrać numer indeksu konkretnej ikony programu, tak by można było wysłać do niej komunikat, no i nie wiem jeszcze jaki komunikat trzeba przesłać, ale to akurat dałoby się ustalić. Więc na razie to będzie tyle.


Ostatnio przesunięty w górę środa, 21 października 2009, 11:11 przez: Norbit.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana


Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości