Kuidas Saada Kirjeldust

Sisukord:

Kuidas Saada Kirjeldust
Kuidas Saada Kirjeldust

Video: Kuidas Saada Kirjeldust

Video: Kuidas Saada Kirjeldust
Video: Brawl Stars eesti keeles kuidas saada kiirelt karikaid!?😊 2024, Mai
Anonim

Windowsi opsüsteemide rakenduste programmeerimisliidest esindab funktsioonide kogum. Nende kutsumisel saab luua erinevaid objekte (failid, protsessid, lõimed, sünkroonimisobjektid jne). Piisavalt abstraktse ja ühtse juurdepääsu tagamiseks nendele objektidele toimub nende tuvastamine deskriptorite abil - "isikupäratud" arvväärtused.

Kuidas saada kirjeldust
Kuidas saada kirjeldust

Vajalik

  • - tõlk programmeerimiskeelest, mis võimaldab kasutada Windows API-d;
  • - võimalik, et Windowsi platvormi SDK.

Juhised

Samm 1

Hankige akende käepidemed. Selleks on palju võimalusi. Täpne meetod sõltub lõppeesmärgist.

Akna loomiseks kasutage API-sid CreateWindow või CreateWindowEx. Nad tagastavad käepideme õnnestumisel ja NULL ebaõnnestumise korral.

Otsige tipptasemel aknaid ja alamaknaid erinevate parameetrite abil vastavalt funktsioonide FindWindow ja FindWindowEx abil. Eduka otsingu korral saadakse akna käepide.

Loendage aknad funktsioonidega EnumWindows, EnumChildWindows, EnumThreadWindows. Leitud akende käepidemed edastatakse helistamisfunktsiooni parameetrina.

Leidke ekraanil kindlas kohas asuva akna käepide. Helistage ühele funktsioonidest: WindowFromPoint, ChildWindowFromPoint või ChildWindowFromPointEx.

2. samm

Hankige protsessi käepidemed. Uue protsessi loomiseks helistage funktsioonidele CreateProcess, CreateProcessAsUser, CreateProcessWithTokenW või CreateProcessWithLogonW. Nad kõik tagastavad struktuuri PROCESS_INFORMATION väljal hProcess uue protsessi käepideme, millele kursor tuleks edastada neile viimase parameetrina.

Leidke protsessi käepide selle teadaoleva identifikaatori järgi. Kasutage OpenProcessi kõnet. Kõigi käimasolevate protsesside ID-sid saab hankida näiteks tööriista Abi teegi funktsioonide CreateToolhelp32Snapshot, Process32First ja Process32Next abil.

Funktsiooni GetCurrentProcess abil saate kätte praeguse protsessi pseudokäepide.

3. samm

Hankige lõimede kirjeldajad. Funktsioonid CreateThread ja CreateRemoteThread loovad niidid vastavalt enda ja kellegi teise protsessis, tagastades nende käepidemed. Olemasoleva lõime saate avada selle identifikaatori abil ja saada vastava käepideme funktsiooni OpenThread abil. GetCurrentThreadi kutsumisel tagastatakse praeguse voo pseudokäepide.

4. samm

Failide, kataloogide, füüsiliste ketaste, kettamahtude, konsoolide, sideressursside (sisend- / väljundporti), meiliautomaatide ja nimega torude kirjeldusi saab ühe funktsiooni CreateFile kutsumisel.

5. samm

Faili-mälu vastendamise objektikirjeldajad tagastatakse kutsega CreateFileMapping ja OpenFileMapping.

6. samm

Funktsioonid CreateMutex, CreateSemaphore ja CreateEvent loovad ning funktsioonid OpenMutex, OpenSemaphore ja OpenEvent avavad olemasolevad sünkroonimisobjektid (muteksid, semaforid ja sündmused). Nad kõik tagastavad kirjeldajad.

7. samm

Kõigi GDI-objektidega (näiteks seadmete kontekstid, fondid, harjad, pliiatsid, riistvarast sõltuvad ja sõltumatud bitikaardid, DIB-jaotised jne) manipuleeritakse nende kirjeldajate kaudu. Funktsioonid GDI-objektide loomiseks on arvukad ja nende kohta teabe saamiseks tuleb vaadata jaotisest MSDN.

8. samm

Ühes protsessis saadud kirjeldajat reeglina teises ei saa kasutada. Mõnel juhul on siiski võimalik saada primaarsele objektile vastav deskriptori duplikaat. Käepideme paljundamiseks helistage DuplicateHandle API-le. Seda saab kasutada näiteks nimetamata sünkroonimisobjektide või kanalite jagamiseks mitme protsessi vahel.

Soovitan: