Форум сайта python.su
0
Доброго времени суток. Недавно начал изучать python и мой вопрос, наверное, покажется сильно нубским, но тем не менее…
Есть UserApi некой программы. Функции доступа к Api реализованы при помощи библиотеки dll.
Функция 1 описана в документации, как:
function oziFindOzi:integer;stdcall;
import ctypes lib = ctypes.WinDLL("<путь до dll>\OziAPI.dll") print(lib.oziFindOzi())
function oziGetOziVersion(var Version:pansichar;var DataLength:integer):integer;stdcall;
import ctypes lib = ctypes.WinDLL("<путь до dll>\OziAPI.dll") print(lib.oziGetOziVersion())
print(lib.oziGetOziVersion())
print(lib.oziGetOziVersion)
Отредактировано Eleferen (Окт. 23, 2015 16:43:53)
Офлайн
88
Нужно создать буфер, передать его и его объём функции.
http://eli.thegreenplace.net/2008/08/31/ctypes-calling-cc-code-from-python
https://docs.python.org/3/library/ctypes.html#passing-pointers-or-passing-parameters-by-reference
Отредактировано Shaman (Окт. 23, 2015 17:17:19)
Офлайн