![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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;
const
wbemFlagForwardOnly = $00000020;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
begin;
//Todas las propiedades y metodos de Win32_OperatingSystem aqui:
//Win32_OperatingSystem http://msdn.microsoft.com/en-us/library/windows/desktop/aa394239%28v=vs.85%29.aspx
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_OperatingSystem','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
Writeln(Format('Caption = %s', [FWbemObject.CSDVersion]));// String
Writeln('');
FWbemObject:=Unassigned;
end;
end;
|
|
#2
|
||||
|
||||
|
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... |
|
#3
|
||||
|
||||
|
¡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 |
|
#4
|
||||
|
||||
|
Si pero bueno para leer dicha clave no necesito tener privilegios de administrador? o puedo simplemente leerlo sin problemas ?
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Service pack Delphi 4 | martin17476 | Varios | 2 | 03-09-2008 09:12:42 |
| Service pack 3 para delphi6 | IVAND | Varios | 1 | 28-07-2008 20:31:11 |
| Tendremos Service Pack 3 para Windows XP | marcoszorrilla | Noticias | 1 | 27-05-2007 22:37:52 |
| Service Pack 1 2 3 SQL Server 2000 | Marianowo | SQL | 0 | 08-02-2005 21:34:58 |
| Service Pack para Interbase 7.1 | jachguate | Noticias | 0 | 12-11-2003 23:02:28 |
|