Nawigacja  

   

Kategorie  

   

Flag Counter  

   

Ankieta  

Najbardziej elastyczny język programowania ?

   

Przechwytywanie okien

Ocena użytkowników:  / 0
SłabyŚwietny 
Szczegóły

W tym artykule opiszę prosty przykład, w jaki spoób możemy przechwycić uruchomiony program i wstawić go jako komponent do naszego API.

 

Na początku deklarujemy zmienną , która będzie przechowywała wskaźnik do naszego przechwytywanego okna:

 

 
HWND okienko;
 

Następnie wskazujemy, które onko ma być przechwycone ( przechwytywanie odbywa się po nazwie okna ).
Dla ułatwienia możemy dodać przycisk, po naciśnięciu którego zostanie wywołana akcja przechwycenia okienka.

Do programu dodałem również pole tekstowe, do którego należy wpisać nazwę przechwytywanego okienka.

Domyślnie rodzicem dla uruchomionego programu jest system - a w zasadzie explorer.

 
// pobranie uchwytu do przechwytywanego okienka
okienko = FindWindow(0, Edit1->Text.c_str());
 
 
// sprawdzenie wskaźnika
if(okienko > 0){
 
 //wskazanie nowego rodzica
 ::SetParent(okienko, Panel1->Handle);
 
 //zmiana rodzica
 MoveWindow(okienko, 2, 2, Panel1->Width, Panel1->Height, true);
 
}
 
 

Przykład działania programu

  • Przed przechwyceniem wiersza poleceń

  • Po przechwyceniu okienka

Gotowy program wraz z kodem do pobrania w dziale Downloads.

   

Aktualnie online

Odwiedza nas 26 gości oraz 0 użytkowników.

   
© TRAFAS.EU