Jinsi Ya Kupata Maelezo

Orodha ya maudhui:

Jinsi Ya Kupata Maelezo
Jinsi Ya Kupata Maelezo

Video: Jinsi Ya Kupata Maelezo

Video: Jinsi Ya Kupata Maelezo
Video: Jinsi ya kupata vocha za bure kwa njia ya Geopoll ni rahisi sana jifunze hapa 2024, Novemba
Anonim

Programu-tumizi ya programu-tumizi ya mifumo ya uendeshaji ya Windows inawakilishwa na seti ya kazi. Wakati zinaitwa, vitu anuwai (faili, michakato, nyuzi, vitu vya maingiliano, nk) vinaweza kuundwa. Ili kutoa ufikiaji wa kutosha na umoja wa vitu hivi, kitambulisho chao kinafanywa kwa kutumia vielezi - maadili "ya kibinafsi" ya nambari.

Jinsi ya kupata maelezo
Jinsi ya kupata maelezo

Muhimu

  • - mtafsiri kutoka lugha ya programu ambayo inaruhusu matumizi ya Windows API;
  • - ikiwezekana Windows Platform SDK.

Maagizo

Hatua ya 1

Pata vipini vya madirisha. Kuna njia nyingi za kufanya hivyo. Njia halisi inategemea lengo la mwisho.

Tumia API ya CreateWindow au CreateWindowEx APIs kuunda dirisha. Wanarudi kushughulikia mafanikio na NULL kwa kutofaulu.

Tafuta windows ya kiwango cha juu na windows za watoto kwa vigezo anuwai kwa kutumia kazi za FindWindow na FindWindowEx, mtawaliwa. Kwenye utaftaji mzuri, mpini wa dirisha utapatikana.

Hesabu windows na EnumWindows, EnumChildWindows, EnumThreadWindows kazi. Hushughulikia za windows zilizopatikana zitapitishwa kama kigezo cha kazi ya kupiga simu tena.

Pata kushughulikia kwa dirisha iliyo kwenye nafasi maalum kwenye skrini. Piga moja ya kazi: WindowFromPoint, ChildWindowFromPoint, au ChildWindowFromPointEx.

Hatua ya 2

Pata vipini vya mchakato. Unda mchakato mpya kwa kupiga huduma ya CreateProcess, CreateProcessAsUser, CreateProcessWithTokenW, au CreateProcessWithLogonW API. Wote wanarudisha kipini kwa mchakato mpya katika uwanja wa hProcess wa muundo wa PROCESS_INFORMATION, kiboreshaji ambacho kinapaswa kupitishwa kwao kama kigezo cha mwisho.

Pata kushughulikia kwa mchakato na kitambulisho chake kinachojulikana. Tumia simu ya OpenProcess. Vitambulisho vya michakato yote inayoendeshwa vinaweza kupatikana, kwa mfano, kwa kutumia kazi ya CreateToolhelp32Snapshot, Process32First, na Process32Next ya Maktaba ya Msaada wa Zana.

Pata ushughulikiaji bandia wa mchakato wa sasa ukitumia kazi ya GetCurrentProcess.

Hatua ya 3

Pata maelezo ya nyuzi. Kazi za CreateThread na CreateRemoteThread huunda nyuzi peke yao na mchakato wa mtu mwingine, mtawaliwa, kurudisha vipini vyao. Unaweza kufungua uzi uliopo ukitumia kitambulisho chake na upate kipini kinachofanana kwa kutumia kazi ya OpenThread. Mpangilio wa uwongo wa mtiririko wa sasa unarejeshwa wakati GetCurrentThread inaitwa.

Hatua ya 4

Vifasili vya faili, saraka, diski za mwili, juzuu za diski, faraja, rasilimali za mawasiliano (bandari za I / O), nafasi za barua, na bomba zilizopewa jina zinaweza kupatikana kwa kupiga kazi moja, CreateFile.

Hatua ya 5

Vifasili vya ramani ya kumbukumbu-ya-kumbukumbu hurejeshwa kwa simu kwa CreateFileMapping na OpenFileMapping

Hatua ya 6

Kazi za CreateMutex, CreateSemaphore, na CreateEvent zinaunda, na OpenMutex, OpenSemaphore, na kazi za OpenEvent hufungua vitu vya usawazishaji zilizopo (bubu, semaphores, na hafla). Wote hurudisha maelezo.

Hatua ya 7

Vitu vyote vya GDI (kama muktadha wa kifaa, fonti, brashi, penseli, vifaa vya kutegemea vifaa na bitmaps huru, sehemu za DIB, n.k.) zinatumiwa kupitia maelezo yao. Kazi za kuunda vitu vya GDI ni nyingi na inapaswa kushauriwa kwenye sehemu ya MSDN kwa habari juu yao.

Hatua ya 8

Fafanuzi iliyopatikana katika mchakato mmoja, kama sheria, haiwezi kutumika katika nyingine. Walakini, katika hali zingine inawezekana kupata kiboreshaji kinachofanana na kitu cha msingi. Piga simu ya DuplicateHandle API ili kurudia kipini. Hii inaweza kutumika, kwa mfano, kushiriki vitu vya usawazishaji visivyo na jina au njia kati ya michakato mingi.

Ilipendekeza: