Informacje na temat okien

0

Potrzebuję zrobić listę okien w systemie, a także dowiedzieć się, jakie mają klasy, captiony oraz jaka jest nazwa pliku exe, do którego należą te okienka. Oczywiście samo wylistowanie okienek nie jest problemem, ale dalej zaczynają się schody. Nie mogę np. znaleźć funkcji do pobierania captiona. Próbowałem z GetWindowText(), ale to zwraca tytuł aplikacji, a nie tekst na formie. Także próbowałem wyciągnąć klasę za pomocą GetClassName(), niestety czasem pokazuje ona klasę okna, a czasami TApplication (jeśli chodzi o programy delphiowe, z innymi, to nie wiem czy dobrze pokazuje). Prosiłbym też o wskazanie funkcji, która poda mi nazwę pliku wykonywalnego, który stworzył okno. Doszedłem już do funkcji, która zwraca identyfikator procesu na podstawie okna, ale nie mogę znaleźć żadnej funkcji, która by podawała nazwę pliku na podstawie identyfikatora procesu.

// Jeśli chodziło o GetModuleFileNameEx(), to nie działa rewelacyjnie. Wywołuję to tak:

Plik:array[0..MAX_PATH] of char;

GetModuleFileNameEx(Handle, 0, Plik, Sizeof(Plik));

No i w Plik mam znak zapytania...

0

Możesz wykorzystać np. kod z http://4programmers.net/view_faq.html?id=357

0

po pierwsze niepobierasz caption i classname aplikacji a nie jej formy. żeby to zrobić musisz znaleźć uchwyt owej formatki przy pomocy funkcji findwindowex i musisz zdeczka pokombinować z klasą formatki. A co do adresu do pliku exe to nie wiem :P

0

Jakoś nie mam pomysłu, jak tu wykorzystać FindWindowEx... Może jakiś przykładzik, jak pobrać uchwyt głównej formy?

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