[pyar] Biometrica en Python con ctypes

Ramiro Morales cramm0 en gmail.com
Jue Nov 18 18:04:59 ART 2010


2010/11/18 Luis A. Garcia <lagsistemas en gmail.com>:
> Hola gente:
> Pido mil disculpas por esta pregunta porque se que es  muy  de novato pero
> los únicos que me pueden ayudar son Uds
>
> Tengo la siguiente documentacion:
> File Name                        Description
> WisSensorNLib.dll          COM object for Fingerprint Algorithem and the
> sensor control
> WisSensorNLib.tlb         Type library of COM object
>
> SDK Functions
> Class Descriptions  WisSensorN Main class in COM object
> Methods Descriptions
> Open     Class open
> Close    Class close
> StartEnroll Start enroll process
> IdentifyCapture Start capture for identification
> Identify Do identify
> VerifyCapture Start capture for verification
> Verify Do verify
> StopCapture Stop capture of identification or verification
> SetDisplay Set fingerprint image display
> Events Descriptions
> DataEvent Event process for enrollment, capture for identification,and
> capture for verification
>
> Hago esto:
> a = ctypes.CDLL ("lib\WisSensorNLib.dll",ctypes.RTLD_GLOBAL)
>
> y levanta la librería perfectamente
>
> Mi pregunta es? como hago para ejecutar los eventos, porque no son
> funciones, es una clase con sus eventos
> La verdad es que me cuesta mucho el tema de las clases/herencias etc.
>
> perdón por la pregunta pero no se a quien acudir. (hace unos messe que
> comencé a programar en Python)
>

Esa liberia usa COM no te conviene usar ctypes porque lo que vas a poder
es introspeccionar son y por otra parte tiene todo el mangling de nombre
que hace

Te conviene usar las facilidades com de pywin32 A grandes rasgos
(esto lo hice hace casi ocho años):

* Instalar pywin32.

* Registrar en el sistema, a nivel COM, si no lo has hecho ya, la libreria .DLL

* A partir de ese momento ya podes hacer que el código de win32com
  introspeccione las interfaces y los objetos COM por vos analizando el
  ,TLB o la .DLL y generando el código wrappers Python. Esto creo que se
  podía hacer en runtime o una sola vez usando un scrip make_py que te
  genera uns .py bastante voluminosos cuyo nombre es el UUID
  del componente COM.

* Una vez que tengas eso, podes instanciar objetos, llamar metodos,
  etc. con sintaxis idéntica a la de si fueran clases nativas.

Aca seguro encontras mas info.

http://timgolden.me.uk/pywin32-docs/html/com/win32com/HTML/docindex.html

Suerte,

-- 
Ramiro Morales



More information about the pyar mailing list