本文整理汇总了Python中ctypes.OleDLL方法的典型用法代码示例。如果您正苦于以下问题:Python ctypes.OleDLL方法的具体用法?Python ctypes.OleDLL怎么用?Python ctypes.OleDLL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ctypes
的用法示例。
在下文中一共展示了ctypes.OleDLL方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CoCreateInstanceC2R
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import OleDLL [as 别名]
def CoCreateInstanceC2R (self, store, reg, clsid, iid) :
# Ugly code to find DLL in C2R version of COM object and get a COM
# object despite the fact that COM doesn't handle C2R
try:
# Get DLL to load from 2R register
aReg = winreg.ConnectRegistry(None, store)
aKey = winreg.OpenKey(aReg, reg, 0, winreg.KEY_READ | winreg.KEY_WOW64_64KEY)
dummy_n, IconvDLL, dummy_t = winreg.EnumValue(aKey, 0)
winreg.CloseKey(aKey)
winreg.CloseKey(aReg)
# Create OLE object from DLL
IconvOLE = ctypes.OleDLL(IconvDLL)
# Get COM Instance from OLE
clsid_class = uuid.UUID(str(clsid)).bytes_le
iclassfactory = uuid.UUID(str(pythoncom.IID_IClassFactory)).bytes_le
com_classfactory = ctypes.c_long(0)
IconvOLE.DllGetClassObject(clsid_class, iclassfactory, ctypes.byref(com_classfactory))
MyFactory = pythoncom.ObjectFromAddress(com_classfactory.value, pythoncom.IID_IClassFactory)
return MyFactory.CreateInstance (None, str(iid))
except:
return None
示例2: set_dpi_aware
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import OleDLL [as 别名]
def set_dpi_aware():
# https://stackoverflow.com/questions/36134072/setprocessdpiaware-seems-not-to-work-under-windows-10
# https://bugs.python.org/issue33656
# https://msdn.microsoft.com/en-us/library/windows/desktop/dn280512(v=vs.85).aspx
# https://github.com/python/cpython/blob/master/Lib/idlelib/pyshell.py
if sys.platform == "win32":
try:
import ctypes
PROCESS_SYSTEM_DPI_AWARE = 1
ctypes.OleDLL("shcore").SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)
except (ImportError, AttributeError, OSError):
pass
示例3: lib
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import OleDLL [as 别名]
def lib(self):
"""Returns the reference to the loaded library object.
For example, if `libtype` is
* ``'cdll'`` then a :class:`~ctypes.CDLL` object
* ``'windll'`` then a :class:`~ctypes.WinDLL` object
* ``'oledll'`` then a :class:`~ctypes.OleDLL` object
* ``'net'`` or ``'clr'`` then a :class:`~.load_library.DotNet` object
* ``'java'`` then a :class:`~py4j.java_gateway.JVMView` object
* ``'com'`` then the interface pointer returned by comtypes.CreateObject_
"""
return self._lib