विवरणक कैसे प्राप्त करें

विषयसूची:

विवरणक कैसे प्राप्त करें
विवरणक कैसे प्राप्त करें

वीडियो: विवरणक कैसे प्राप्त करें

वीडियो: विवरणक कैसे प्राप्त करें
वीडियो: How to get Company Details in India|| कंपनी विवरण कैसे प्राप्त करें 2024, नवंबर
Anonim

विंडोज ऑपरेटिंग सिस्टम के एप्लिकेशन प्रोग्रामिंग इंटरफेस को कार्यों के एक सेट द्वारा दर्शाया गया है। जब उन्हें बुलाया जाता है, तो विभिन्न ऑब्जेक्ट (फाइलें, प्रोसेस, थ्रेड्स, सिंक्रोनाइज़ेशन ऑब्जेक्ट, आदि) बनाए जा सकते हैं। इन वस्तुओं के लिए पर्याप्त रूप से सार और एकीकृत पहुंच प्रदान करने के लिए, उनकी पहचान डिस्क्रिप्टर - "अवैयक्तिक" संख्यात्मक मूल्यों का उपयोग करके की जाती है।

विवरणक कैसे प्राप्त करें
विवरणक कैसे प्राप्त करें

ज़रूरी

  • - एक प्रोग्रामिंग भाषा से अनुवादक जो विंडोज एपीआई के उपयोग की अनुमति देता है;
  • - संभवतः विंडोज प्लेटफॉर्म एसडीके।

निर्देश

चरण 1

विंडो हैंडल प्राप्त करें। इसे करने के कई तरीके हैं। सटीक विधि अंतिम लक्ष्य पर निर्भर करती है।

विंडो बनाने के लिए CreateWindow या CreateWindowEx API का उपयोग करें। वे सफलता पर एक हैंडल और विफलता पर NULL लौटाते हैं।

FindWindow और FindWindowEx फ़ंक्शंस का उपयोग करके क्रमशः विभिन्न मापदंडों द्वारा शीर्ष-स्तरीय विंडो और चाइल्ड विंडो की खोज करें। सफल खोज पर, विंडो हैंडल प्राप्त किया जाएगा।

EnumWindows, EnumChildWindows, EnumThreadWindows फ़ंक्शंस के साथ विंडोज़ की गणना करें। पाए गए विंडो के हैंडल को कॉलबैक फ़ंक्शन के पैरामीटर के रूप में पास किया जाएगा।

स्क्रीन पर किसी विशिष्ट स्थान पर स्थित विंडो का हैंडल ढूंढें। किसी एक फ़ंक्शन को कॉल करें: WindowFromPoint, ChildWindowFromPoint, या ChildWindowFromPointEx.

चरण 2

प्रक्रिया हैंडल प्राप्त करें। CreateProcess, CreateProcessAsUser, CreateProcessWithTokenW, या CreateProcessWithLogonW API फ़ंक्शन को कॉल करके एक नई प्रक्रिया बनाएँ। वे सभी PROCESS_INFORMATION संरचना के hProcess फ़ील्ड में नई प्रक्रिया के लिए एक हैंडल लौटाते हैं, जिस सूचक को उन्हें अंतिम पैरामीटर के रूप में पास किया जाना चाहिए।

इसके ज्ञात पहचानकर्ता द्वारा प्रक्रिया के लिए हैंडल खोजें। ओपनप्रोसेस कॉल का प्रयोग करें। सभी चल रही प्रक्रियाओं की आईडी प्राप्त की जा सकती है, उदाहरण के लिए, टूल हेल्प लाइब्रेरी के CreateToolhelp32Snapshot, Process32First, और Process32Next फ़ंक्शंस का उपयोग करके।

GetCurrentProcess फ़ंक्शन का उपयोग करके वर्तमान प्रक्रिया के छद्म हैंडल को पुनः प्राप्त करें।

चरण 3

धागे के वर्णनकर्ता प्राप्त करें। CreateThread और CreateRemoteThread फ़ंक्शंस क्रमशः अपने और किसी और की प्रक्रिया में थ्रेड बनाते हैं, उनके हैंडल लौटाते हैं। आप किसी मौजूदा थ्रेड को उसके पहचानकर्ता का उपयोग करके खोल सकते हैं और OpenThread फ़ंक्शन का उपयोग करके संबंधित हैंडल प्राप्त कर सकते हैं। जब GetCurrentThread कहा जाता है, तो वर्तमान प्रवाह का छद्म-संभाल वापस कर दिया जाता है।

चरण 4

फ़ाइलों, निर्देशिकाओं, भौतिक डिस्क, डिस्क वॉल्यूम, कंसोल, संचार संसाधनों (I / O पोर्ट), मेल स्लॉट और नामित पाइप के लिए डिस्क्रिप्टर एकल फ़ंक्शन, CreateFile को कॉल करके प्राप्त किया जा सकता है।

चरण 5

फ़ाइल-टू-मेमोरी मैपिंग ऑब्जेक्ट डिस्क्रिप्टर CreateFileMapping और OpenFileMapping को कॉल द्वारा लौटाए जाते हैं।

चरण 6

CreateMutex, CreateSemaphore, और CreateEvent फ़ंक्शन बनाते हैं, और OpenMutex, OpenSemaphore, और OpenEvent फ़ंक्शन मौजूदा सिंक्रनाइज़ेशन ऑब्जेक्ट (म्यूटेक्स, सेमाफ़ोर और ईवेंट) खोलते हैं। वे सभी विवरणक लौटाते हैं।

चरण 7

सभी GDI ऑब्जेक्ट (जैसे डिवाइस संदर्भ, फ़ॉन्ट, ब्रश, पेंसिल, हार्डवेयर पर निर्भर और स्वतंत्र बिटमैप, DIB सेक्शन, आदि) को उनके डिस्क्रिप्टर के माध्यम से हेरफेर किया जाता है। GDI ऑब्जेक्ट बनाने के कार्य असंख्य हैं और उन पर जानकारी के लिए MSDN अनुभाग पर परामर्श किया जाना चाहिए।

चरण 8

एक प्रक्रिया में प्राप्त एक विवरणक, एक नियम के रूप में, दूसरे में उपयोग नहीं किया जा सकता है। हालांकि, कुछ मामलों में प्राथमिक वस्तु के अनुरूप एक डुप्लिकेट डिस्क्रिप्टर प्राप्त करना संभव है। हैंडल को डुप्लिकेट करने के लिए डुप्लीकेटहैंडल एपीआई को कॉल करें। इसका उपयोग, उदाहरण के लिए, कई प्रक्रियाओं के बीच अनाम सिंक्रनाइज़ेशन ऑब्जेक्ट या चैनल साझा करने के लिए किया जा सकता है।

सिफारिश की: