Nawigacja  

   

Kategorie  

   

Flag Counter  

   

Ankieta  

Najbardziej elastyczny język programowania ?

   

Przechwytywanie okien

Ocena użytkowników:  / 0
Przechwytywanie okien

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ń

   

Aktualnie online

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

   
© TRAFAS.EU