|
Hola,
Yo hubiera hecho lo mismo que tu, usar GetEnvironment, pero supongo que la version de PB que usas debe ser anterior a Windows 2000. Es probable que con la version 8 de PB que acaba de salir te funcionara GetEnvironment, pero dudo que te arriesgues (yo tampoco lo haria). Llamar a funciones de la API de Windows puede ser complicado, mas que nada porque el mapeo de tipos de variables C a tipos PowerBuilder es dificil. Existe un documento en la Web de Sybase de acceso gratuito donde explica todos los detalles sobre el tema. Tendrias que consultar la definicion C de la estructura OSVERSIONINFO, e intentar crear una estructura PB equivalente. Existe otra opcion bastante mas sencilla, se trata de crear una DLL intermedia que acceda a la API de Windows, y llamarla desde PB pasandole argumentos sencillos. En la cabecera de la DLL que contenga tu funcion puedes importar las definiciones de tipos y funciones del API de Windows.
Lo unico es haber usado alguna vez un compilador de C, el Visual C++ por ejemplo.
Es probable que alguien haya tenido tu mismo problema y lo haya solucionado, por lo que podrias consultar los grupos de PB de Goggle, o las webs dedicadas a PB.
En cuanto al registro, no se si existe alguna clave que informe de la version, ni idea.
Saludos
|