, ponieważ nie mogłem znaleźć odpowiedzi na pytanie this zbadałem trochę dalej do MSDN i znalazłem isChild(). To może dać mi odpowiedź na to inne pytanie.uzyskiwanie HWND dla mojej własnej aplikacji w C
Teraz, aby użyć metody isChild(), muszę przekazać HWND aplikacji nadrzędnej, którą chcę sprawdzić, w tym przypadku moją własną aplikację. Jak uzyskać HWND z mojej aplikacji?
Nie znam tytułu, ponieważ stale się zmienia, więc nie mogę użyć FindWindow().
Dzięki
Edit:
Ponieważ nie jest jasne, dodam więcej informacji: ja nie tworząc okno. Nie mam dostępu do tworzenia okna. Mój kod to fragment kodu, który jest kompilowany razem z aplikacją, którą programuje inny programista i nie mam dostępu do tego, jak tworzone jest okno, tytułu lub jakiejkolwiek innej informacji. Jak zatem uzyskać HWND do "OKNA" uruchomionej aplikacji?
GetTopWindow() zawsze zwraca 0. To samo z GetActiveWindow() – wonderer
Dzięki za powtórkę, ale GetTopWindow(), jeśli zostanie wywołana z NULL, może zwrócić górne okno innego programu (jak dowiedziałem się na poprzednim pytaniu) i ja jako ja w tym pytaniu i w tym szukam informacji o mojej aplikacji i oknie. – wonderer
Znajdujesz więc najwyższe okno - a następnie iterujesz przez okna w porządku z-Z przy użyciu GetNextWindow i porównujesz każde okno ze swoim. Najpierw dopasowany jest to, czego potrzebujesz. Pomyślałem, że można to zrobić tak ... –