當前位置: 首頁>>代碼示例>>Python>>正文


Python wintypes.HDC屬性代碼示例

本文整理匯總了Python中ctypes.wintypes.HDC屬性的典型用法代碼示例。如果您正苦於以下問題:Python wintypes.HDC屬性的具體用法?Python wintypes.HDC怎麽用?Python wintypes.HDC使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在ctypes.wintypes的用法示例。


在下文中一共展示了wintypes.HDC屬性的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _set_argtypes

# 需要導入模塊: from ctypes import wintypes [as 別名]
# 或者: from ctypes.wintypes import HDC [as 別名]
def _set_argtypes(self):
        ''' Functions arguments. '''

        self.MONITORENUMPROC = WINFUNCTYPE(INT, DWORD, DWORD, POINTER(RECT),
                                           DOUBLE)
        windll.user32.GetSystemMetrics.argtypes = [INT]
        windll.user32.EnumDisplayMonitors.argtypes = [HDC, c_void_p,
                                                      self.MONITORENUMPROC,
                                                      LPARAM]
        windll.user32.GetWindowDC.argtypes = [HWND]
        windll.gdi32.CreateCompatibleDC.argtypes = [HDC]
        windll.gdi32.CreateCompatibleBitmap.argtypes = [HDC, INT, INT]
        windll.gdi32.SelectObject.argtypes = [HDC, HGDIOBJ]
        windll.gdi32.BitBlt.argtypes = [HDC, INT, INT, INT, INT, HDC, INT, INT,
                                        DWORD]
        windll.gdi32.DeleteObject.argtypes = [HGDIOBJ]
        windll.gdi32.GetDIBits.argtypes = [HDC, HBITMAP, UINT, UINT, c_void_p,
                                           POINTER(BITMAPINFO), UINT] 
開發者ID:maldevel,項目名稱:gdog,代碼行數:20,代碼來源:client.py

示例2: _set_restypes

# 需要導入模塊: from ctypes import wintypes [as 別名]
# 或者: from ctypes.wintypes import HDC [as 別名]
def _set_restypes(self):
        ''' Functions return type. '''

        windll.user32.GetSystemMetrics.restypes = INT
        windll.user32.EnumDisplayMonitors.restypes = BOOL
        windll.user32.GetWindowDC.restypes = HDC
        windll.gdi32.CreateCompatibleDC.restypes = HDC
        windll.gdi32.CreateCompatibleBitmap.restypes = HBITMAP
        windll.gdi32.SelectObject.restypes = HGDIOBJ
        windll.gdi32.BitBlt.restypes = BOOL
        windll.gdi32.GetDIBits.restypes = INT
        windll.gdi32.DeleteObject.restypes = BOOL 
開發者ID:maldevel,項目名稱:gdog,代碼行數:14,代碼來源:client.py

示例3: CreateDC

# 需要導入模塊: from ctypes import wintypes [as 別名]
# 或者: from ctypes.wintypes import HDC [as 別名]
def CreateDC(driver, device, output, initData):
    return HDC(_CreateIC(driver, device, output, initData)) 
開發者ID:dev7355608,項目名稱:csgo_dont_blind_me,代碼行數:4,代碼來源:context_wingdi.py

示例4: GetDC

# 需要導入模塊: from ctypes import wintypes [as 別名]
# 或者: from ctypes.wintypes import HDC [as 別名]
def GetDC(hWnd):
    return HDC(_GetDC(hWnd)) 
開發者ID:dev7355608,項目名稱:csgo_dont_blind_me,代碼行數:4,代碼來源:context_wingdi.py

示例5: enumerate_monitors

# 需要導入模塊: from ctypes import wintypes [as 別名]
# 或者: from ctypes.wintypes import HDC [as 別名]
def enumerate_monitors() -> list:
    """
    enumerate all physical monitor.
    ** 請注意防止返回的 Handle 對象被GC!
    
    https://msdn.microsoft.com/en-us/library/dd162610(v=vs.85).aspx
    BOOL EnumDisplayMonitors(
        _In_ HDC             hdc,
        _In_ LPCRECT         lprcClip,
        _In_ MONITORENUMPROC lpfnEnum,
        _In_ LPARAM          dwData
    );
    
    :return: list contains physical monitor handles
    """
    all_hmonitor = []

    # Factory function of EnumDisplayMonitors callback.
    # 保持引用以防止被GC !
    # https://msdn.microsoft.com/en-us/library/dd145061(v=vs.85).aspx
    _MONITOR_ENUM_PROC = ctypes.WINFUNCTYPE(wintypes.BOOL,
                                            wintypes.HMONITOR,
                                            wintypes.HDC,
                                            ctypes.POINTER(wintypes.LPRECT),
                                            wintypes.LPARAM)

    def __monitor_enum_proc_callback(hmonitor_: wintypes.HMONITOR, hdc, lprect, lparam) -> bool:
        """
        EnumDisplayMonitors callback, append HMONITOR to all_hmonitor list.
        :param hmonitor_:
        :param hdc:
        :param lprect:
        :param lparam:
        :return:
        """
        all_hmonitor.append(hmonitor_)
        return True
    
    if not ctypes.windll.user32.EnumDisplayMonitors(None, None,
                                                    _MONITOR_ENUM_PROC(__monitor_enum_proc_callback), None):
            raise ctypes.WinError()
    
    # get physical monitor handle
    handles = []
    for hmonitor in all_hmonitor:
        handles.extend(_get_physical_monitors_from_hmonitor(hmonitor))
    
    return handles 
開發者ID:dot-osk,項目名稱:monitor_ctrl,代碼行數:50,代碼來源:vcp.py


注:本文中的ctypes.wintypes.HDC屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。