WinApi - VC

0

czesc, od razu powiem ze szukalem rozwiazania mojego problemu na internecie i juz istniejacych tematach na forumach, jednak nie znalazlem i dlatego pisze do WAS z prosba o rady i pomoc.

czy ktos wie moze gdzie windows trzyma, pamieta uchyty, informacje na temat uruchomionych programow ?,takich ktore sa na pasku zadan? i jak sie do tego mozna dobrac?
moj programik pokazuje sie za pomoca hot key - uzylem tutaj SW_HIDE i SW_SHOW, dokladniej mowiac w moim programie potrzebuje uzyskac uchwyt do okna ktore ostatnio mialo focus - z ktorego zostal uruchomiony programik, zebym w trakcie jego dzialania mogl wypisac tekst na poprzednim.

do tej pory zastosowalem funkcje winapi keybd_event i "symulowalem" za jej pomoca nacisniecie alt + tab, nastepnie puszczalem funkcje Wypisz_tekst(CString str) ktora w podobny sposob wpisywala mi wowczas w tamtym okienku tekst i wracalem w podobny sposob do mojego programu, jednak nie jest to chyba najlepsze rozwiazanie, dlatego zastanawiam sie jak w inny sposob moglbym uzyskac uchwyt do programu, okna ktore mialo focus przed przywolaniem mojego.

bede wdzieczny za wszelkie rady i pomysly, windows gdzies musi trzymac takie dane, zatem jak sie do nich dobrac?

przy okazji spytam o jeszcze jedna rzecz: jak mowilem moj programik ma hot key, za pomoca ktorego ukrywa sie i pokazuje, co poradzicie aby po ukazaniu sie od razu mial focus, reagowal na klawiature itd? robie SetFocus() ale nie pomaga, czasem jak wywolam to jest ok, ale czasem pokazuje sie jednak nie reaguje na sygnaly z klawiatury -> ida one natomiast wowczas do programu z ktorego startowalem.

pozdrawiam i dziekuje za wszelkie rady

giron

0

ja sie co prawda na winAPI nie znam ale z tego co widze w API-Guide
to jest funcja GetFocus();

I tak:

Sprawdzalem w Builderze:

HWND hwnd
hwnd = GetFocus()

i potem na onclick buttona:

SetActiveWindow(hwnd) //sprawdzalem czy po prostu dziala

i dziala...czyli ustawia aktywne okno na to z ktorego zostal uruchomiony program.

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