როგორ მივიღოთ აღწერილი

Სარჩევი:

როგორ მივიღოთ აღწერილი
როგორ მივიღოთ აღწერილი

ვიდეო: როგორ მივიღოთ აღწერილი

ვიდეო: როგორ მივიღოთ აღწერილი
ვიდეო: ვიდეოტრეინინგი სახვით ხელოვნებაში/როგორ შევადგინოთ ფერები/ფერთა გამა/პალიტრა/ფერების გრადაცია 2024, მაისი
Anonim

ვინდოუსის ოპერაციული სისტემების პროგრამირების ინტერფეისი წარმოდგენილია ფუნქციების ერთობლიობით. მათი გამოძახებისას შეიძლება შეიქმნას სხვადასხვა ობიექტები (ფაილები, პროცესები, ძაფები, სინქრონიზაციის ობიექტები და ა.შ.). ამ ობიექტებზე საკმარისად აბსტრაქტული და ერთიანი წვდომის უზრუნველსაყოფად, მათი იდენტიფიკაცია ხორციელდება აღწერილობითი - "უპიროვნო" რიცხვითი მნიშვნელობების გამოყენებით.

როგორ მივიღოთ აღწერილი
როგორ მივიღოთ აღწერილი

აუცილებელია

  • - თარჯიმანი პროგრამირების ენიდან, რომელიც საშუალებას იძლევა გამოიყენოთ Windows API;
  • - შესაძლოა Windows Platform SDK.

ინსტრუქციები

Ნაბიჯი 1

მიიღეთ ფანჯრის სახელურები. ამის გაკეთების მრავალი გზა არსებობს. ზუსტი მეთოდი დამოკიდებულია საბოლოო მიზანზე.

ფანჯრის შესაქმნელად გამოიყენეთ CreateWindow ან CreateWindowEx API. ისინი ბრუნდებიან წარმატებაზე და NULL წარუმატებლობაზე.

მოძებნეთ ზედა დონის Windows და Windows Windows სხვადასხვა პარამეტრების შესაბამისად, შესაბამისად FindWindow და FindWindowEx ფუნქციების გამოყენებით. წარმატებული ძიებისას მიიღება ფანჯრის სახელური.

ჩამოთვალეთ ფანჯრები EnumWindows, EnumChildWindows, EnumThreadWindows ფუნქციებით. ნაპოვნი ფანჯრების სახელურები გადაეცემა როგორც ზარის უკმარისობის ფუნქციას.

იპოვნეთ სახელური ფანჯარაზე, რომელიც მდებარეობს ეკრანზე კონკრეტულ პოზიციაზე. დარეკეთ ერთ-ერთ ფუნქციაზე: WindowFromPoint, ChildWindowFromPoint ან ChildWindowFromPointEx.

ნაბიჯი 2

მიიღეთ პროცესის სახელურები. შექმენით ახალი პროცესი CreatProcess, CreateProcessAsUser, CreateProcessWithTokenW ან CreateProcessWithLogonW API ფუნქციების გამოძახებით. ისინი ყველა დაუბრუნებს პროცესს PROCESS_INFORMATION სტრუქტურის hProcess ველში ახალ პროცესს, რომლის მაჩვენებელი უნდა გადაეცეს მათ, როგორც ბოლო პარამეტრს.

იპოვნეთ პროცესის სახელური მისი ცნობილი იდენტიფიკატორით. გამოიყენეთ OpenProcess ზარი. ყველა მიმდინარე პროცესის პირადობის მოწმობის მიღება შეგიძლიათ, მაგალითად, Tool Help ბიბლიოთეკის CreateToolhelp32Snapshot, Process32First და Process32Next ფუნქციების გამოყენებით.

GetCurrentProcess ფუნქციის გამოყენებით მიმდინარე პროცესის ფსევდო სახელურის მიღება.

ნაბიჯი 3

მიიღეთ ძაფების აღწერილები. CreateThread და CreateRemoteThread ფუნქციები ქმნიან ძაფებს საკუთარი და სხვისი პროცესის შესაბამისად, დაუბრუნებენ მათ სახელურებს. თქვენ შეგიძლიათ გახსნათ არსებული თემა მისი იდენტიფიკატორის გამოყენებით და მიიღოთ შესაბამისი სახელური OpenThread ფუნქციის გამოყენებით. მიმდინარე ნაკადის ფსევდო სახელური უბრუნდება GetCurrentThread- ის გამოძახებისას.

ნაბიჯი 4

ფაილების, დირექტორიების, ფიზიკური დისკების, დისკის მოცულობების, კონსოლების, საკომუნიკაციო რესურსების (I / O პორტები), ფოსტის სლოტებისა და დასახელებული მილების აღწერილი შეგიძლიათ მიიღოთ ერთი ფუნქციის, CreatFile დარეკვით.

ნაბიჯი 5

ფაილის მეხსიერებაში ობიექტის აღწერილობის ობიექტები უბრუნდება CreatFileMapping და OpenFileMapping ზარებით.

ნაბიჯი 6

CreateMutex, CreateSemaphore და CreateEvent ფუნქციები ქმნიან, ხოლო OpenMutex, OpenSemaphore და OpenEvent ფუნქციები ხსნიან არსებულ სინქრონიზაციის ობიექტებს (mutexes, semaphores და events). ისინი ყველა აბრუნებენ აღწერილებს.

ნაბიჯი 7

GDI ყველა ობიექტი (როგორიცაა მოწყობილობის კონტექსტები, შრიფტები, ჯაგრისები, ფანქრები, ტექნიკაზე დამოკიდებული და დამოუკიდებელი ბიტმპები, DIB სექციები და ა.შ.) მანიპულირდება მათი აღწერით. GDI ობიექტების შექმნის ფუნქციები მრავალია და მათ შესახებ ინფორმაციის მისაღებად უნდა გაიაროთ კონსულტაცია MSDN განყოფილებაში.

ნაბიჯი 8

ერთ პროცესში მიღებული აღწერილი, როგორც წესი, არ შეიძლება გამოყენებულ იქნას სხვაში. ამასთან, ზოგ შემთხვევაში შესაძლებელია პირველადი ობიექტის შესაბამისი დუბლიკატის აღება. სახელურის დუბლირებისთვის დარეკეთ DuplicateHandle API. ეს შეიძლება გამოყენებულ იქნას, მაგალითად, სინქრონიზაციის ობიექტების ან არხების მრავალ პროცესს შორის გასაზიარებლად.

გირჩევთ: