Kā Nokļūt Pie Loga

Satura rādītājs:

Kā Nokļūt Pie Loga
Kā Nokļūt Pie Loga

Video: Kā Nokļūt Pie Loga

Video: Kā Nokļūt Pie Loga
Video: Peek A Boo | CoComelon Nursery Rhymes u0026 Kids Songs 2024, Maijs
Anonim

Lietotāja saskarnes jēdziens sistēmā Windows ir balstīts uz loga jēdzienu. Dialogi, pogas, vadības paneļi, saraksti ir visi logi. Tāpēc, lai veiktu jebkādas darbības ar jebkuru sava vai kāda cita lietojumprogrammas saskarnes elementu, jums jāiegūst loga rokturis.

Kā nokļūt pie loga
Kā nokļūt pie loga

Nepieciešams

  • - Platformas SDK pakete;
  • - sastādītājs.

Instrukcijas

1. solis

Saņemiet rokturi pie loga, izveidojot to. Veiciet izsaukumus uz funkcijām CreateWindow vai CreateWindowEx API vai izsauciet izmantotās ietvara vai bibliotēkas klases atbilstošās iesaiņošanas metodes (nepieciešamajiem objektiem), kas iekapsulē funkcionalitāti darbā ar logiem vai vadīklām. Funkcijas CreateWindow un CreateWindowEx tieši atgriež loga rokturis par veiksmīgu izveidi. Ja piezvanīs neveiksmīgi, viņi atgriež NULL. Kļūdas iemesla kodu var pieprasīt, izmantojot funkciju GetLastError API. Funkciju CreateWindow un CreateWindowEx parametru prototipus un detalizētus aprakstus var iegūt no saitēm https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx un https:// msdn.microsoft.com / lv-us / library / windows / desktop / ms632680% 28v = vs.85% 29.aspx Izmantojot dažādu ietvaru klases, operētājsistēmas loga objektu izveide var notikt vai nu tieši (izsaucot metodi) vai netieši (RAII stratēģijas ieviešana). Tāpēc labāk ir iegūt loga rokturi gatavam inicializētam objektam. Par to klašu metodēm, kas atgriež objekta iekapsulēto loga rokturi, varat uzzināt attiecīgā ietvara dokumentācijā. Piemēram, MFC līdzīga metode ir GetSafeHwnd no CWnd klases.

2. solis

Saņemiet loga rokturi, to meklējot. Izmantojiet FindWindow un FindWindowEx API funkcijas vai atbilstošos klases objektu ietinējus jūsu izmantotajam ietvaram. FindWindow atgriež rokturi augšējā līmeņa logā, ja tas tiek atrasts, vai NULL pēc kļūmes. Meklēšana tiek veikta pēc klases nosaukuma un loga nosaukuma. Funkcijas parametru un aspektu apraksts ir atrodams saitē https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx. funkcija FindWindowEx ir līdzīga funkcijai FindWindow tikai ar to atšķirību, ka tā meklē bērnu logus. Programmas FindWindowEx dokumentācija ir pieejama vietnē

3. solis

Atrodot loga rokturi, vienlaikus norādot to komplektus. Izmantojiet API funkcijas EnumWindows, EnumChildWindows, EnumThreadWindows vai izmantoto ietvaru klases objektu metodes. Funkcijas EnumWindows un EnumChildWindows uzskaita attiecīgi augstākā līmeņa logus un pakārtotos logus. Funkcija EnumThreadWindows uzskaita visus norādītā pavediena logus, kas nav bērni. Katrai no šīm funkcijām jānorāda atzīme uz atzvanīšanas procedūru, kurai darbības laikā tiks nodoti atrasto logu rokturi kā parametri. Apvienojot uzskaites funkcijas, iegūstot un analizējot loga rekvizītus atzvanīšanas procedūrā, varat atrast nepieciešamo logu. Aprakstīto funkciju dokumentācija ir norādīta saitēs: - EnumWindows: https://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx; - EnumChildWindows: https:// msdn.microsoft.com/en-us/library/windows/desktop/ms633494%28v=vs.85%29.aspx; - EnumThreadWindows: https://msdn.microsoft.com/en-us/library / windows / desktop /ms633495%28v=vs.85%29.aspx.

4. solis

Saņemiet rokturi pie loga ar zināmām koordinātām. Funkcijas WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx atgriež rokturus logos, kuriem pieder norādītais punkts. Funkciju WindowFromPoint ir visvieglāk izmantot, taču tās neatgriež slēpto vai atspējoto logu rokturus. Dokumentāciju par tā lietošanu varat atrast vietnē https://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx. Funkcijas ChildWindowFromPoint un ChildWindowFromPointEx atrod bērna rokturus. noteikta vecāka loga logi, kas pieder noteiktam punktam. Šajā gadījumā ChildWindowFromPointEx darbību var elastīgi kontrolēt, izmantojot papildu parametru. Šo funkciju dokumentāciju nodrošina saites: - ChildWindowFromPoint: https://msdn.microsoft.com/en-us/library/windows/desktop/ms632676%28v=vs.85%29.aspx; - ChildWindowFromPointEx: https:// msdn.microsoft.com/en-us/library/windows/desktop/ms632677%28v=vs.85%29.aspx.

Ieteicams: