Obtener version del Service Pack de Windows
Hola amigos,
La cuestion es que estoy desarrollando una aplicacion capaz de determinar si una computadora es actualizada con regularidad, si está desactualizada y cosas así leyendo con WUA (Windows Update Client Api) las actualizaciones instaladas y comparando contra una BD de actualizaciones portable actualizada para determinar cuales actualizaciones no tiene el cliente etc. La verdad es que la tengo casi terinada pero ahora necesito la version del Service Pack de Windows pero ojo, no puede ser con WMI ni con QuickFix_Engineering que puede darse el caso no esten instaladas y/o habilitadas en la PC, por eso necesito una via que sea mediante alguna funcion super escondida del API de Windows o algo asi :P. Por favor si alguien sabe de esto que me eche una mano. Cuando la termine la pienso publicar para que la gente vea y estudie el codigo fuente y lo reutilize en otras labores. |
// Saludos |
Algo como esto se podria uttilizar pero tengo temor de que en versiones de Windows XP u otras que no este instalada la WMI me falle la aplicacion.
Código:
procedure GetWin32_OperatingSystemInfo; |
Roman, resulta ser que he probado tu funcion y me devuelve "Service Pack 3" cuando en realidad tengo Windows 7 Service Pack 1. El mismo resultado me lo esta devolviendo otro componente de la Jedi que al pareces utiliza esa misma forma. Con la funcion que puse mas arriba si me devuelve Service Pack 1 (que es el que tengo instalado y el que sale en las propiedades del sistema). No se que será lo que sucede pero por el momento voy a resolver con WMI hasta que encuentre otra vía. Gracias de todas formas y bueno si tienes alguna idea de por que puede estar sucediendo esto te lo agradecería.
Saludos... |
¡Vaya! Pues ¡qué raro! En mi caso da el valor correcto. También he visto que algunos lo toman del registro de windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion de la clave CSDVersion. // Saludos |
Si pero bueno para leer dicha clave no necesito tener privilegios de administrador? o puedo simplemente leerlo sin problemas ?
|
La franja horaria es GMT +2. Ahora son las 04:35:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi