Cum să obțineți un mâner la fereastra consola (hwnd) - totul, și programare

Uneori este necesar să se facă o acțiune cu o fereastră asociată cu o aplicație consolă. Win32 API nu oferă metode directe de obținere a mânerului ferestrei asociată cu o aplicație consolă. Cu toate acestea, deskritor (mâner) al ferestrei poate fi obținută prin apelarea FindWindow (). Această funcție preia un mâner fereastră bazat pe un nume de clasă sau numele ferestrei.

Pentru a determina titlul actual al consolei, numit GetConsoleTitle (). Apoi, acest lucru este indicat în funcția poziție FindWindow ().

Deoarece mai multe ferestre pot avea același titlu, atunci va trebui să schimbe titlul ferestrei consola curentă pe unic. Acest lucru va ajuta la protejarea împotriva obtinerea mânerul greșit fereastra. Pentru a schimba titlul ferestrei curente de consolă este utilizat SetConsoleTitle (). Iată cum:

  1. Call GetConsoleTitle () pentru a menține titlul ferestrei consola curentă.
  • Apelați SetConsoleTitle () pentru a schimba titlul la un unic (unic).
  • Call Sleep (40), pentru a permite timp pentru schimbarea antet.
  • Apel FindWindow (NULL, uniquetitle), pentru HWND. Această interogare returnează hWnd sau NULL în caz de eșec.
  • Call SetConsoleTitle () cu valoarea obținută în etapa 1, pentru a restabili titlul original fereastra.

    Trebuie să verificați hWnd rezultat. De exemplu, este posibil să se verifice dacă rezultă procesul curent HWND, cauzând GetWindowText () cu această HWND și comparând-o cu rezultatul obținut folosind GetConsoleTitle ().

    Nu există nici o garanție că hWnd rezultată este potrivit pentru toate operațiile posibile cu mânerul ferestrei.

    Exemplu de cod

    Funcția următoare returnează un mâner în fereastra aplicației consolă curentă (HWND). În cazul în care funcția este de succes, valoarea returnată va fi mânerul ferestrei consolă, în caz contrar, o eroare va fi returnat NULL vsluchae. Pentru concizie, unele controale posibile erori eliminate.

    Scopul acestui articol - pentru a cunoaște utilizatorii cu bash, pentru a spune despre sintaxa tehnicilor de bază și bucăți de limbă, chiar și un utilizator obișnuit poate scrie rapid un script simplu pentru a rula de zi cu zi (săptămâni, luni-vechi) de muncă de rutină, sau, să zicem, „pe genunchi „Nava.

    În orice caz, voi explica cititorilor, în cazul în care nu sunt în subiect, ceea ce este „distribuțiile Linux.“ Linux în sine - este un nucleu de sistem pur. Pentru ei există un număr mare de programe de la terți dezvoltatori. Și există diferite versiuni ale kernel-ului. Acum, multe dintre compania sau doar un grup de oameni, împreună.

    De fapt, ce fișier manager de multe funcții? Sau, mai degrabă, de ce funcționează, altele decât utilizarea preconizată a produsului? Dacă ne întoarceți înapoi câteva pagini de istorie, vom găsi acolo este un tânăr -sudya în jurul acestui elev - care stă în fața unui 14 inch, așa cum au spus, „V.