Mam zamiar zabrać się za napisanie zamiennika systemowego Explorer.exe ;] ale nie wiem na czym polega
tworzenie Tray. :-|
Chce żeby na formie mojego programu były ikony tak jak obok zegara i żeby można było sterować aplikacjami tak jak w explorer. Nie chcę pisać osobnego modułu SysTray.exe, ale zrobić tak żeby wszystko było w jednym pliku exe.
Może mi ktoś powiedzieć jak to zrobić (oczywiście w czystym Winapi, nie wykorzystując SysUtils i innych zjadaczy miejsca) ?
Nie obrażę się również na gotową funkcję... :-)
Nie wiem ale tworzenie ikonki w tray'u jest spowodowane przez użycie Shell_NotifyIconktora implikuje <ort>urzycie </ort>Shell_NotifyIconW. Z kolei Shell_NotifyIconW wywołuje FindWindowW a następnie SendMessageTimeOutW, co może wskazywać na to że operacje na ikonach tray'a są wyklonywane przy użyciu komunikatów. Niestety nie wiem z jakimi parametrami są wywoływane funkcje FindWindowW, SendMessageTimeOutW. Więc nie jestem w stanie powiedzieć żadnych konkretnych informacji.
// proszę, zacznij wreszcie używać słownika - Ł
A wiesz może gdzie można znaleźć takie informacje? Może jakiś angielski serwis?
Sam niedawno pisałem coś takiego. Poświęciłem na to sporo czasu, głównie na znalezienie na google odpowiedniej metody.
Podpowiem dość skromnie:
Musisz stworzyć okno o dokładnie takich samych klasach/nazwach jak systemowy tray (Wraz z rodzicami). Następnie musisz obsłużyć komunikat WM_COPYDATA przychodzący do tegoż okienka. Zawiera on wskaźnik, na strukturę z ikoną. Dalej to już tylko zapisywanie danych.
Ale to dopiero pierwszy etap - gromadzenie przychodzących danych (wydaje mi się, że jest on najtrudniejszy). Dalej to już tylko wyświetlanie, obsługa komunikatów (wysyłanie do odpowiedniej aplikacji po kliknięciu), hinty i inne szczegóły.
//edit:
Większość co znalazłem, to na grupach i w kodzie zrodlowym bb4win.
A udało Ci się?
Może podasz jakieś adresy żebym szybciej znalazł?
Jak nie to pozostanie mi google i sporo czasu...