A więc tak. W pierwszej kolejności chcę zaznaczyć: SZUKAŁEM. Przejrzałem kilka artów, wyszukiwarkę forum pod różnymi kątami i Google. Niestety, jedyne posty, które trochę wyglądają na pomocne okazują się albo pozostawać bez odpowiedzi, albo odpoiwedź opiera się na tym, czego nie mogę wykorzystać (przekazanie Handle do Application). Ale o co chodzi:
Piszę sobie program, który ma opierać się tylko i wyłącznie na wtyczkach. Sam program ma odpalać wtyczki, przekazywać parę użytecznych adresów procedur i funkcji, po czym zakończyć swe działanie natychmiast po zakończeniu procedury Run we wtyczce obsługującej front-end. No i problem polega na tym, że ten program ze względu na oszczędność miejsca nie używa VCL, nie ma żadnej formy (tworzeniem form zajmuje się wyżej wspomniana wtyczka od front-endu) itp. No i w tej wtyczce od front-endu chciałbym wprowadzić możliwość chowania się do tray'a. No i wszystko byłoby pięknie, gdyby nie fakt, że muszę uzyskać HANDLE aplikacji. No a w głównym programie nie ma czegoś takiego jak Application, zaś zastosowanie Application "dostarczonego" przez Forms.dcu wykorzystaną we wtyczce nie daje rezultatu.
No i tu się pojawia sam problem. Wymyśliłem dwa potencjalne sposoby na obejście tego problemu:
- Znalezienie przez funkcje WinApi handlera do aplikacji wywołującej DLL, w którym te funkcje będą wykorzystywane.
- Znalezienie handle aplikacji aktualnej przez WinApi (bez zastosowania VCL).
Niestety tutaj FindWindow chyba na nic się nie zda (nie mam gwarancji, że to jedyna instancja programu o tej nazwie, a do tego sama aplikacja nie ma żadnego okna), więc jak to inaczej można zrobić?