Padoms 1: Kā nokļūt loga rokturi
Padoms 1: Kā nokļūt loga rokturi
Windows interfeisa jēdziens ir balstīts uz koncepciju logi. Dialogi, pogas, vadības paneļi, saraksti - tas viss logi. Tādēļ, lai veiktu visas darbības, ar jebkuru no saskarni viņa vai kāds cits pieteikuma elementu, jums ir nepieciešams, lai iegūtu deskriptors logi.
Jums būs nepieciešams
- - platformas SDK pakete;
- - kompilators.
Instrukcijas
1
Get deskriptors logi, izveidojot to. Veikt zvanus uz API funkciju CreateWindow vai CreateWindowEx, vai zvaniet piemērotas metodes, iesaiņojuma (priekšmetos, kuri nepieciešami) nodarbības ar sistēmu vai bibliotēkā izmanto, kuri ietver funkcionalitāti, strādājot ar logivai kontrole. CreateWindow un CreateWindowEx funkcijas tieši atgriežas deskriptors logi ja tas ir veiksmīgi izveidots. Ja zvans neizdodas, tie atgriež NULL vērtību. Kļūdas iemesla kodu var uzdot, izmantojot GetLastError API. Prototipi un detalizētu aprakstu parametru CreateWindow un CreateWindowEx funkciju noklikšķiniet uz saites http://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx un http: // MSDN .microsoft.com / lv / bibliotēka / logi / desktop / ms632680% 28V = vs.85% 29.aspx .Ja dažādi ietvari izmantot klases objekta izveide Windows operētājsistēmu var būt vai nu tieši (zvanot) un netieši (RAII stratēģijas īstenošana). Tādēļ deskriptors logi tas ir labāk saņemt par gatavu inicializētu objektu. Par atgriešanās klases metodēm deskriptors logi, kas ir iekļauts objektā, to var noskaidrot attiecīgās sistēmas dokumentācijā. Piemēram, MFC, līdzīga metode ir GetSafeHwnd no klases CWnd.
2
Get deskriptors logi meklējot to. Izmantot API-function FindWindow un FindWindowEx vai piemērotas metodes, iesaiņojuma klases objektiem izmanto freymvorka.Funktsiya FindWindow atdevi deskriptors logi augstākais līmenis, ja tas ir atrasts, vai NULL par neveiksmi. Meklēšana tiek veikta pēc klases nosaukuma un nosaukuma logi. Funkcijas parametru un aspektu aprakstsir saite http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx .Semantika darbs funkcija FindWindow FindWindowEx ir līdzīga ar vienīgo atšķirību, ka tā ražo meklēšanu bērnu logi. par FindWindowEx dokumentāciju, ko http://msdn.microsoft.com/en-us/library/windows/desktop/ms633500%28v=vs.85%29.aspx saiti.
3
Atrast deskriptors logi to komplektu uzskaitīšanas procesā. Izmantojiet API funkcijas: EnumWindows, EnumChildWindows, EnumThreadWindows vai izmantotās sistēmas klases objektu metodes. EnumWindows un EnumChildWindows funkciju saraksts logi augstākā līmeņa un bērna logi attiecīgi. EnumThreadWindows pārskaita visu, kas nav bērns logi no norādītās plūsmas. Katrai no šīm funkcijām ir jānodod norāde uz atzvanīšanas procedūru, kas darba procesā tiks pārsūtīta deskriptorsAtrodiet logus kā parametrus. Apvienojot uzskaitījumu funkcijas, iegūstot un analizējot atgriezeniskās procedūras logus, jūs varat atrast deskriptors vajadzīgo logi. Aprakstīto funkciju dokumentācija ir sniegtasaites: - EnumWindows: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx, - EnumChildWindows: http://msdn.microsoft.com/ lv / bibliotēka / logi / desktop / ms633494% 28V = vs.85% 29.aspx, - EnumThreadWindows: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633495%28v=vs .85% 29.spx.
4
Get deskriptors logi no zināmām koordinātām. Funkcijas WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx atgriešanās deskriptorsWindowsFromPoint funkcija ir visvieglāk lietojama, bet neatgriežas deskriptorsSlēptās un invalīdes logi. uz tās pieteikuma dokumentācija ir saite http://msdn.microsoft.com/en-us/library/windows/desktop/ms633558%28v=vs.85%29.aspx .Funktsii ChildWindowFromPoint un atrast ChildWindowFromPointEx deskriptorsnorādītā vecāku bērni logi, kas pieder konkrētam punktam. Šajā gadījumā ChildWindowFromPointEx uzvedību var elastīgi pārvaldīt, izmantojot papildu parametru. Dokumentācija par šīm funkcijām ir sniegta uz saites: - ChildWindowFromPoint: http://msdn.microsoft.com/en-us/library/windows/desktop/ms632676%28v=vs.85%29.aspx - ChildWindowFromPointEx: http: // msdn.microsoft.com/en-us/library/windows/desktop/ms632677%28v=vs.85%29.aspx.
Padoms 2: Kā atpazīt rokturi
Deskriptors Logs vai Rokas logs - specifisksIdentifikators, ko operētājsistēma izsniedz loga izveidošanas laikā. Ja kāda iemesla dēļ jums jāzina loga sistēmas deskriptors (piemēram, rakstot programmu), to var izdarīt, izmantojot HWND programmu.
Jums būs nepieciešams
- - HWND programma.
Instrukcijas
1
Atrodiet šo lietojumprogrammu, izmantojot meklētājprogrammasinternetā un lejupielādējiet savā datorā. Šī programma ir bezmaksas programma, kuru izstrādājis programmētājs Pavel Lesnikov. Pirms izpakošana arhīvā ar programmu, pārbaudiet lejupielādētos datus, izmantojot pretvīrusu programmatūru. Atlaidiet arhīvu ar programmu. Palaidiet lietderību, divreiz noklikšķinot uz faila WHD.exe. Programmas logam ir vienkāršs interfeiss: vadīklas un deskriptoru parādīšanas lauks. Ja jums nav arhivētāja, lejupielādējiet no interneta programmu Win Rar.
2
Iestatiet slēdzi uz "Nokursors "un nospiediet CapsLock uz tastatūras. Pēc šīs darbības deskriptoru izvades laukā automātiski tiek parādīti visu logu identifikatori, uz kuriem pāri kursoram. Lai atspējotu šo procedūru, vēlreiz noklikšķiniet uz CapsLock. Ievadiet tās loga klasi, kuras deskriptors vēlaties zināt.
3
Noklikšķiniet uz pogas "OK" un parādīsies zemāk redzamais lauks.meklēšanas id. Lai aizvērtu programmas logu, noklikšķiniet uz krusta augšējā labajā stūrī. Lai sazinātos ar programmas izstrādātāju, dodieties uz vietni http://vokinsel.dviger.com. Jūs varēsit saņemt padomu reālajā laikā, kā arī uzzināt par jauno programmatūras versiju pieejamību.
4
Šī lietderība neprasa uzstādīšanu un ļotiviegli lietojams. Tādējādi iegūtie logu identifikatorus pēc tam var izmantot citas programmas, lai piekļūtu pakalpojumu logi pakalpojumus Windows un logus darbojas programmām. Ja jūs nezināt, kā izmantot šīs programmas, izlasiet palīdzību. Parasti izstrādātāji apraksta darba programmu pamatprincipus.
Padoms 3: Kā iegūt rokturi
Lietojumprogrammu saskarneWindows ģimenes operētājsistēmas ir funkciju kopums. Kad tos sauc, var izveidot dažādus objektus (failus, procesus, pavedienus, sinhronizācijas objektus utt.). Lai nodrošinātu diezgan abstraktu un vienotu piekļuvi šiem objektiem, to identifikācija tiek veikta, izmantojot deskriptorus - "bezpersoniskas" skaitliskās vērtības.
Jums būs nepieciešams
- - tulkotājs no programmēšanas valodas, kas ļauj izmantot Windows API;
- - varbūt Windows platformas SDK.
Instrukcijas
1
Iegūstiet loga deskriptorus. To var izdarīt tik daudzos veidos. Konkrētā metode ir atkarīga no galīgā mērķa. Lai izveidotu logu, izmantojiet CreateWindow vai CreateWindowEx API. Viņi atgriežas rokturi panākumiem un spēkā, ja neudachi.Proizvedite meklēt augstākā līmeņa logus un bērnu logus dažādiem parametriem, izmantojot FindWindow un FindWindowEx funkcijas attiecīgi. Ja veiksmīgs, meklēšana iegūsiet rokturis okna.Perechislyayte EnumWindows logu funkcijas, EnumChildWindows, EnumThreadWindows. Atrasto logu deskriptori tiks nodoti kā atzvanīšanas funkcijas parametrs. Atrodiet loga rokturi, kas atrodas noteiktā pozīcijā ekrānā. Zvaniet uz vienu no funkcijām: WindowFromPoint, ChildWindowFromPoint vai ChildWindowFromPointEx.
2
Iegūstiet procesu deskriptorus. Izveidot jaunu procesu, zvanot uz API funkciju CreateProcess, CreateProcessAsUser, CreateProcessWithTokenW vai CreateProcessWithLogonW. Viņi visi atgriežas rokturi uz jaunu procesu laukā hProcess PROCESS_INFORMATION tipa struktūra, rādītājs, uz kuru ir jānosūta viņiem pēdējo parametrom.Naydite process rokturis viņa pazīstamā identifikatoru. Izmantojiet OpenProcess zvanu. ID, visām ekspluatācijas procesiem var iegūt, piemēram, izmantojot CreateToolhelp32Snapshot funkcijas un Process32First Process32Next bibliotēka rīks Help.Izvlekite pseido-deskriptors pašreizējo procesu, izmantojot funkciju GetCurrentProcess.
3
Saņemiet pavedienu deskriptorus. CreateThread un CreateRemoteThread funkcijas izveido pavedienus savos un citos procesos, attiecīgi, atdodot savus deskriptorus. Lai atvērtu esošu straumi, izmantojot tās identifikatoru, saņemot atbilstošu deskriptoru, tas ir iespējams, izmantojot funkciju OpenThread. Pašreizējā plūsmas pseido-deskriptors tiek atgriezts, kad sauc GetCurrentThread.
4
Failu, direktoriju, fizisko failu deskriptoridiski, apjomi, konsoles, saziņas resursi (I / O porti), pasta sloti un nosaucamās caurules var iegūt, zvanot vienai funkcijai - CreateFile.
5
Failu deskriptori failu parādīšanas objektiem tiek atgriezti, zvanot uz CreateFileMapping un OpenFileMapping.
6
Funkcijas CreateMutex, CreateSemaphore unCreateEvent tiek izveidots, un OpenMutex, OpenSemaphore un OpenEvent funkcijas atver esošos sinhronizācijas objektus (mutexes, semaforus un notikumus). Visi no tiem atgriež deskriptorus.
7
Visu GDI objektu manipulācija (piemēram,ierīce konteksti, fontus, suka, zīmuļi, aparatūras un nav atkarīga rastra, DIB-sadaļas, uc) tiek ražotas, izmantojot to aprakstiem. GDI objektu izveides funkcijas ir daudzas, un, lai iegūtu informāciju par tiem, ir nepieciešams atsaukties uz attiecīgo MSDN sadaļu.
8
Aprakstā, kas iegūts vienā procesā, kāvaru, nevar izmantot citā. Tomēr dažos gadījumos ir iespējams iegūt deskriptoru-dublikātu, kas atbilst primārajam objektam. Lai izpildītu dikublikāta deskriptoru, izsaukiet DuplicateHandle API funkciju. To var izmantot, piemēram, lai vienlaikus lietotu bez nosaukuma sinhronizācijas objektus vai kanālus vairākos procesos.