Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/05/2005, 23:52
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 4 meses
Puntos: 7
Yo creía que WMI funcionaba sólo a partir de Win2K, pero al leer la documentación de Microsoft, ésta indica que también funciona en Win98 y ME, inclusive en Win95, descargando el Run-Time adecuado.
Ahora bien...
¿Estás desarrollando la aplicación en Win98? Si es así, y puedes ver la referencia a WMI Scripting, no tengo idea de que puede estar mal.
Si estás desarrollando la aplicación en WinXP, y sólo te causa un error en Win98, pues descarga el Run-Time aqui WMI
La sintaxis que yo he usado, es ligeramente diferente para obtener la colección de objetos pero en teoría no debería haber diferencias en los resultados:
Código:
Dim swService As SWbemServices
Dim swCpuSet As SWbemObjectSet
Dim swMemSet As SWbemObjectSet
Dim swObj As SWbemObject
Dim decTotalMemory As Variant
	
	Set swService = GetObject("winmgmts:")
	Set swCpuSet = swService.ExecQuery("Select * from Win32_Processor")
	Set swMemSet = swService.ExecQuery("Select * from Win32_PhysicalMemory")

	For Each swObj In swCpuSet
		Print "Descripción: " & swObj.Description
		Print "Nombre: " & swObj.Name
		Print "Reloj: " & swObj.MaxClockSpeed & "MB"
	Next swObj
		
	decTotalMemory = 0
	For Each swObj In swMemSet
		decTotalMemory = decTotalMemory + CDec(swObj.Capacity)
	Next swObj
	Print "Memoria Física Total: " & (decTotalMemory / 1024) / 1024 & "MB"
En tu otro post, decías que habías usado GetSystemInfo para tratar de obtener este dato, pero la función no sirve para mucho a partir de los 586. Tendrías que usar ensamblador.

Info Agregada:
Acabo de ver que puedes obtener los datos del procesador del registro del sistema. La clave es: HKEY_LOCAL_MACHINE\Hardware\Description\
System\CentralProcessor\0
(por lo menos en XP)...

Última edición por Beakdan; 23/05/2005 a las 00:57