"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं मूल कार्यक्षमता के साथ पायथन में डीएलएल तक कैसे पहुंच सकता हूं?

मैं मूल कार्यक्षमता के साथ पायथन में डीएलएल तक कैसे पहुंच सकता हूं?

2024-11-12 को प्रकाशित
ब्राउज़ करें:443

How Can I Access DLLs in Python with Native Functionality?

पायथन में मूल कार्यक्षमता के साथ डीएलएल तक पहुंच

पायथन में, डीएलएल फ़ाइलों तक पहुंच को ctypes मॉड्यूल के माध्यम से सुविधाजनक बनाया जा सकता है। यह मॉड्यूल अतिरिक्त सी रैपर कोड की आवश्यकता के बिना डीएलएल की कार्यक्षमता को सीधे लागू करने के लिए एक सीधा दृष्टिकोण प्रदान करता है। ]

DLL को मेमोरी में लोड करें:

  1. hllDll = ctypes.WinDLL("c:\PComm\ehlapi32.dll")

    hllDll = ctypes.WinDLL("c:\\PComm\\ehlapi32.dll")
  2. hllApiProto = ctypes.WINFUNCTYPE( ctypes.c_int, # रिटर्न प्रकार ctypes.c_void_p, # पैरामीटर्स... ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p) # ... 4 के माध्यम से

    hllApiProto = ctypes.WINFUNCTYPE(
        ctypes.c_int,      # Return type
        ctypes.c_void_p,   # Parameters ...
        ctypes.c_void_p,
        ctypes.c_void_p,
        ctypes.c_void_p)   # ... thru 4
  3. hllApi = hllApiProto(("HLLAPI" , एचएलएलडीएलएल), hllApiParams)

    hllApi = hllApiProto(("HLLAPI", hllDll), hllApiParams)
  4. p1 = ctypes.c_int(1) p2 = ctypes.c_char_p(sessionVar) p3 = ctypes.c_int(1) p4 = ctypes.c_int(0) hllApi(ctypes.byref(p1), p2, ctypes.byref(p3), ctypes.byref(p4))

    ध्यान दें कि प्रदान किया गया विशिष्ट उदाहरण IBM EHLLAPI इंटरफ़ेस मानता है, जो चार शून्य पॉइंटर्स को पार करने की आवश्यकता है। अन्य DLL के लिए, फ़ंक्शन प्रोटोटाइप और पैरामीटर अलग-अलग होंगे।
    p1 = ctypes.c_int(1)
    p2 = ctypes.c_char_p(sessionVar)
    p3 = ctypes.c_int(1)
    p4 = ctypes.c_int(0)
    hllApi(ctypes.byref(p1), p2, ctypes.byref(p3), ctypes.byref(p4))
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3