Найти - Пользователи
Полная версия: проблема с вызовом WinAPI функции
Начало » Python для новичков » проблема с вызовом WinAPI функции
1
estra
Добрый день!

Пожалуйста, помогите и объясните что не так. Нужно вызвать API функцию, вот так получается:
 import ctypes as ct
from ctypes import wintypes as wt
prototype = ct.WINFUNCTYPE(ct.c_bool, ct.POINTER(wt.POINT))
GetCursorPos = prototype(("GetCursorPos", ct.windll.user32))
point = wt.POINT()
result = GetCursorPos(ct.byref(point))
if result:
    print(point.x, point.y)

А вот если я пытаюсь описать параметры, ничего не получается:
 import ctypes as ct
from ctypes import wintypes as wt
prototype = ct.WINFUNCTYPE(ct.c_bool, ct.POINTER(wt.POINT))
paramflags = (2, "lppoint"),
GetCursorPos = prototype(("GetCursorPos", ct.windll.user32), paramflags)
point = wt.POINT()
result = GetCursorPos(lppoint=ct.POINTER(point)) # must be a ctypes type
if result:
    print(point.x, point.y)

Что я делаю не так, и как это поправить?
estra
решено

 prototype = ct.WINFUNCTYPE(ct.c_bool, ct.POINTER(wt.POINT))
paramflags = (1, "lppoint"),
GetCursorPos = prototype(("GetCursorPos", ct.windll.user32), paramflags)
point = wt.POINT()
result = GetCursorPos(lppoint=point)
if result:
    print(point.x, point.y)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB