Computer information using COMate

Share your advanced PureBasic knowledge/code with the community.
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Computer information using COMate

Post by SFSxOI »

A collection of computer information using srod's COMate. yes, it could probably be better, but considering that it didn't take long to put together and I didn't spend a lot of time on it....there is no GUI or debug output, everything is written to a .txt file placed in the root of the C: drive (C:\systeminfo.txt).

Requires: COMate by srod - http://www.purebasic.fr/english/viewtopic.php?t=33983
Requires: Droopy Library v1.31.15 (compiled library not source) for some functions like the registry read and the iniwrite and IsUserAnAdmin()

For Windows XP with SP 3 and Windows Vista with SP 1 or greater.

Please note, this is a very first version, its rough i know, and I also know there are a few bugs in this posted version (nothing serious, just some information gathering formatting and maybe a few commands messed up a little - stuff like that). I'm refining and correcting it and adding some more stuff. Should be done before long, but in the mean while i think this will serve for a good base upon which to build your own using comate if your interested in the computer info stuff.

part 1 here. whole thing is too big to post so i split it up.

Code: Select all

XIncludeFile "COMate.pbi"
XIncludeFile "Utility.pbi"
XIncludeFile "VariantHelper_Include.pb"

#PF_FLOATING_POINT_PRECISION_ERRATA   = 0
#PF_FLOATING_POINT_EMULATED           = 1
#PF_COMPARE_EXCHANGE_DOUBLE           = 2
#PF_MMX_INSTRUCTIONS_AVAILABLE        = 3
#PF_XMMI_INSTRUCTIONS_AVAILABLE       = 6
#PF_3DNOW_INSTRUCTIONS_AVAILABLE      = 7
#PF_RDTSC_INSTRUCTION_AVAILABLE       = 8
#PF_PAE_ENABLED                       = 9
#PF_XMMI64_INSTRUCTIONS_AVAILABLE     = 10
#PF_NX_ENABLED                        = 12
#PF_SSE3_INSTRUCTIONS_AVAILABLE       = 13
#PF_COMPARE_EXCHANGE128               = 14
#PF_COMPARE64_EXCHANGE128             = 15
#PF_CHANNELS_ENABLED                  = 16

#HW_PROFILE_GUIDLEN                   = $27 
#MAX_PROFILE_LEN                      = $50

#DRIVE_TYPE_UNDTERMINED               = 0
#DRIVE_ROOT_NOT_EXIST                 = 1
#DRIVE_REMOVABLE                      = 2
#DRIVE_FIXED                          = 3
#DRIVE_REMOTE                         = 4
#DRIVE_CDROM                          = 5
#DRIVE_RAMDISK                        = 6

Structure HW_PROFILE_INFO 
  DockInfo.l 
  szHWProfileGUID${#HW_PROFILE_GUIDLEN} 
  szHwProfileName${#MAX_PROFILE_LEN} 
EndStructure

Global OS_SP_MajorVersion_Global$, OS_Caption_Global$, CPU_AddressWidth_Global$, File_Gen_date_time$, COMP_Status_Global$, Net_ConnectionID_Global$
Global Adapter_GUID_Name_Global$, Adapter_ConfigManagerErrorCode_Global$, Net_Con_Stat_Global$, Adapter_Manuf_Global$, VC_Description_Global$

;////////////////////////////////////////////
lpVersionInformation.OSVERSIONINFOEX
lpVersionInformation\dwOSVersionInfoSize = SizeOf(OSVERSIONINFOEX)

If GetVersionEx_(@lpVersionInformation)
vers_maj.l = lpVersionInformation\dwMajorVersion
vers_min.l = lpVersionInformation\dwMinorVersion
ver_sp.l = lpVersionInformation\wServicePackMajor
 
  If vers_maj = 5 And vers_min = 1 And ver_sp = 3 
      WinXPSP3.l = 1
    Else
      WinXPSP3.l = 0
  EndIf
  
  If vers_maj = 6 And ver_sp => 1
      WinVsta.l = 1
    Else
      WinVsta.l = 0
  EndIf

  If WinVsta = 1 Or WinXPSP3 = 1
      ymd_x$ = FormatDate("%yyyy%mm%dd", Date())
    Else
      MessageRequester("Information", "Minimum Operating System Requirements : Microsoft Windows Vista ® With Service Pack 1 or greater or Windows XP ® With Service Pack 3.", #PB_MessageRequester_Ok)
      End
  EndIf 
EndIf

If IsUserAnAdmin() = 0
  MessageRequester("Information", "You must be logged on to the computer as a user with full administrative privilages to use this software.", #PB_MessageRequester_Ok)
End
EndIf

Procedure$ HardwareFingerprint() ; courtesy citystate - http://www.purebasic.fr/english/viewtopic.php?t=26950&highlight=hardwarefingerprint
  Protected hwp.HW_PROFILE_INFO 
  GetCurrentHwProfile_(@hwp) 
  ProcedureReturn hwp\szHwProfileName$+"  >  "+hwp\szHWProfileGUID$ 
EndProcedure

Procedure.q GetVistaMemory() 
  
  Lib = OpenLibrary(#PB_Any, "kernel32.dll")
  
  If Lib
    *Mem_Func = GetFunction(Lib, "GetPhysicallyInstalledSystemMemory") 
    If *Mem_Func And CallFunctionFast(*Mem_Func, @gvmemx) 
      Result = gvmemx 
    EndIf 
    CloseLibrary(Lib) 
  EndIf
  
  ProcedureReturn Result
  
EndProcedure

Procedure.q GetMemory() 
  
  Protected Library = OpenLibrary(#PB_Any, "kernel32.dll") 
  Protected mem.MEMORYSTATUS, memex.MEMORYSTATUSEX 
  Protected *Function, Result.q 
  
  If Library 
    
      memex\dwLength = SizeOf(MEMORYSTATUSEX) 
      *Function = GetFunction(Library, "GlobalMemoryStatusEx") 
      If *Function And CallFunctionFast(*Function, @memex) 
        Result = memex\ullTotalPhys 
      EndIf 
       
    CloseLibrary(Library) 
    
  EndIf 
  
  ProcedureReturn Result 
  
EndProcedure

Procedure.s GetDEP() 
  
  Lib = OpenLibrary(#PB_Any, "kernel32.dll")
  
  If Lib 
    
    *Mem_Func = GetFunction(Lib, "GetSystemDEPPolicy") 
    If *Mem_Func 
    Result_DEP = CallFunctionFast(*Mem_Func) 
    EndIf
    
    Select Result_DEP
      Case 0
      DEP_Pol$ = "Always Off"
      Case 1
      DEP_Pol$ = "Always On"
      Case 2
      DEP_Pol$ = "Opt In"
      Case 3
      DEP_Pol$ = "Opt Out"
      Default
      DEP_Pol$ = "DEP Policy Unknown"
    EndSelect
    
    CloseLibrary(Lib) 
    
  EndIf 
  
  ProcedureReturn DEP_Pol$ 
  
EndProcedure

Procedure.s Base_cnvrt(string$,base,base2=10) ; from the PB forum, credit goes to original poster
   Static table$="0123456789abcdef" 
   If base>1 And base<17 And base2>1 And base2<17 
      If base=base2 
         result$=string$ 
      Else 
         If base>10 
            string$=LCase(string$) 
         EndIf 
         For loop=1 To Len(string$) 
            digit=FindString(table$,Mid(string$,loop,1),1) 
            If digit 
               number.q*base 
               number+(digit-1) 
            EndIf 
         Next 
         If base2=10 
            result$=Str(number) 
         Else 
            Repeat 
               remainder=number%base2 
               number=number/base2 
               result$=Mid(table$,remainder+1,1)+result$ 
            Until number=0 
         EndIf 
      EndIf 
   EndIf 
   ProcedureReturn result$ 
EndProcedure

Procedure.s DriveOverviewType()

IniWrite("C:\systeminfo.txt","Drive_Overview_Info", "==================================", " [Drive_Overview_Info] ==============================================")

  For x = 0 To 25       
                  
    NextDrive$ = Chr(x + 65)
    Drive$ = NextDrive$ + ":\"
    Drive_typ.i = GetDriveType_(Drive$)
      Select Drive_typ
        Case #DRIVE_TYPE_UNDTERMINED
          DriveType$ = "  has not been recognized and its type is undetermined."
        Case #DRIVE_ROOT_NOT_EXIST
          DriveType$ = "  specified drive doesn't exist."
        Case #DRIVE_CDROM
          DriveType$ = "  is a CD-ROM Or DVD drive."
        Case #DRIVE_FIXED
          DriveType$ = "  media cannot be removed i.e.. Hard Disk."
        Case #DRIVE_RAMDISK
          DriveType$ = "  is a RAM disk/drive using system memory."
        Case #DRIVE_REMOTE
          DriveType$ = "  is a remote drive (i.e..Network drive)."
        Case #DRIVE_REMOVABLE
          DriveType$ = "  media can be removed (i.e.. Floppy Disk or tape drive) or other removable media or is a device software installed drive for that device use."
      EndSelect
      
      If (Drive_typ = #DRIVE_CDROM) Or (Drive_typ = #DRIVE_FIXED) Or (Drive_typ = #DRIVE_RAMDISK) Or (Drive_typ = #DRIVE_REMOTE) Or (Drive_typ = #DRIVE_REMOVABLE) Or (Drive_typ = #DRIVE_TYPE_UNDTERMINED)
      IniWrite("C:\systeminfo.txt","Drive_Overview_Info", "Drive  " + Drive$, "   " + DriveType$)
      EndIf
  Next
IniWrite("C:\systeminfo.txt","Drive_Overview_Info", "============", "End [Drive_Overview_Info] ============" + #CRLF$)
EndProcedure

Procedure PHYMEM_Info()

Define.COMateObject objWMIService, PHYMEMInfo
colPHYMEMInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colPHYMEMInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_PhysicalMemory')")
  IniWrite("C:\systeminfo.txt","Memory_Info", "==================================", " [Memory_Info] ==============================================")
  If colPHYMEMInfo 
    PHYMEMInfo = colPHYMEMInfo\GetNextObject()
    While PHYMEMInfo
      
      BankLabel$ = PHYMEMInfo\GetStringProperty("BankLabel")
      MemBank.i = Val(PHYMEMInfo\GetStringProperty("Capacity")) / 1024 / 1024
      PHYMEMInfo_Capacity$ = Str(MemBank) + "   MB"
      PHYMEMInfo_DataWidth$ = Str(PHYMEMInfo\GetIntegerProperty("DataWidth"))
      PHYMEMInfo_DeviceLocator$ = PHYMEMInfo\GetStringProperty("DeviceLocator")
      PHYMEMInfo_MemoryType$ = Mem_Type(PHYMEMInfo\GetIntegerProperty("MemoryType"))
      PHYMEMInfo_Speed$ = Str(PHYMEMInfo\GetIntegerProperty("Speed"))
      PHYMEMInfo_FormFactor$ = Mem_Form_Factor(PHYMEMInfo\GetIntegerProperty("FormFactor"))
      PHYMEMInfo_Manufacturer$ = PHYMEMInfo\GetStringProperty("Manufacturer")
      PHYMEMInfo_Model$ = PHYMEMInfo\GetStringProperty("Model")
      PHYMEMInfo_Version$ = PHYMEMInfo\GetStringProperty("Version")
      PHYMEMInfo_PositionInRow$ = Str(PHYMEMInfo\GetIntegerProperty("PositionInRow"))
      PHYMEMInfo_TypeDetail$ = MemType_Detail(PHYMEMInfo\GetIntegerProperty("TypeDetail"))
      PHYMEMInfo_TotalWidth$ = Str(PHYMEMInfo\GetIntegerProperty("TotalWidth"))
      PHYMEMInfo_SerialNumber$ = PHYMEMInfo\GetStringProperty("SerialNumber")
      PHYMEMInfo_PartNumber$ = PHYMEMInfo\GetStringProperty("PartNumber")
      PHYMEMInfo_InterleaveDataDepth$ = Str(PHYMEMInfo\GetIntegerProperty("InterleaveDataDepth"))
        Select PHYMEMInfo\GetIntegerProperty("InterleavePosition")
          Case 0
            PHYMEMInfo_InterleavePosition$ = "Non-interleaved"
          Case 1
            PHYMEMInfo_InterleavePosition$ = "First position"
          Case 2
            PHYMEMInfo_InterleavePosition$ = "Second position"
          Default
            PHYMEMInfo_InterleavePosition$ = "Unknown"
        EndSelect
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + "Device Locator", "  " + PHYMEMInfo_DeviceLocator$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Memory Type", "  " + PHYMEMInfo_MemoryType$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Capacity", "  " + PHYMEMInfo_Capacity$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Data Width", "  " + PHYMEMInfo_DataWidth$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Total Width", "  " + PHYMEMInfo_TotalWidth$ + "  (should match Data Width if there are no error correction bits)")
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Position In Row", "  " + PHYMEMInfo_PositionInRow$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Interleave Data Depth", "  " + PHYMEMInfo_InterleaveDataDepth$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Interleave Position", "  " + PHYMEMInfo_InterleavePosition$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Speed", "  " + PHYMEMInfo_Speed$ + "  nanoseconds")
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Type Detail", "  " + PHYMEMInfo_TypeDetail$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Form Factor", "  " + PHYMEMInfo_FormFactor$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Manufacturer", "  " + PHYMEMInfo_Manufacturer$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Model", "  " + PHYMEMInfo_Model$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Version", "  " + PHYMEMInfo_Version$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Serial Number", "  " + PHYMEMInfo_SerialNumber$)
      IniWrite("C:\systeminfo.txt","Memory_Info", BankLabel$ + "    " + PHYMEMInfo_DeviceLocator$ + "   Part Number", "  " + PHYMEMInfo_PartNumber$)
      IniWrite("C:\systeminfo.txt","Memory_Info", "============", "============")
      
      PHYMEMInfo\Release() 
      PHYMEMInfo = colPHYMEMInfo\GetNextObject()
    Wend
    colPHYMEMInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "PHYMEMInfo")  
EndIf

If (FindString(OS_Caption_Global$, "Vista", 1) > 0) And (OS_SP_MajorVersion_Global$ => "1") And (CPU_AddressWidth_Global$ = "32")
  PhyMem.s = StrD(GetVistaMemory() / 1024, 1) +"  MB"
Else
  PhyMem.s = StrD(GetMemory() / 1024, 1) +"  MB"
EndIf
IniWrite("C:\systeminfo.txt","Memory_Info", "Operating System reports Physical Memory Installed", "  " + PhyMem)
IniWrite("C:\systeminfo.txt","Memory_Info", "============", "End [Memory_Info] ============" + #CRLF$)
EndProcedure

Procedure VidControl_Info()

Define.COMateObject objWMIService, VidControl
colVidCont.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colVidCont = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_VideoController')")
  IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "==================================", " [Graphics_Card_Info] ==============================================")
  If colVidCont 
    VidControl = colVidCont\GetNextObject()
    While VidControl
      
      x = x + 1
      id$ = Str(x)
      VC_Description_Global$ = VidControl\GetStringProperty("Description")
      VC_AdapterCompatibility$ = VidControl\GetStringProperty("AdapterCompatibility")
      VC_AdapterDACType$ = VidControl\GetStringProperty("AdapterDACType")
      VC_CurrentNumberOfColors$ = VidControl\GetStringProperty("CurrentNumberOfColors")
      VC_AdapterRAM_bytes$ = Str(VidControl\GetIntegerProperty("AdapterRAM"))
      VC_AdapterRAM$ = Str((VidControl\GetIntegerProperty("AdapterRAM") / 1024) / 1024) + "  Mb" + "   (" + VC_AdapterRAM_bytes$ + " bytes)"
      VC_CurrentBitsPerPixel$ = Str(VidControl\GetIntegerProperty("CurrentBitsPerPixel"))
      VC_CurrentHorizontalResolution$ = Str(VidControl\GetIntegerProperty("CurrentHorizontalResolution"))
      VC_CurrentVerticalResolution$ = Str(VidControl\GetIntegerProperty("CurrentVerticalResolution"))
      VC_Resolution$ = VC_CurrentHorizontalResolution$ + "  x  " + VC_CurrentVerticalResolution$
      VC_DriverDate$ = Dt_Time(VidControl\GetStringProperty("DriverDate"), 0)
      VC_DriverVersion$ = VidControl\GetStringProperty("DriverVersion")
      VC_InstalledDisplayDrivers$ = VidControl\GetStringProperty("InstalledDisplayDrivers")
      VC_VideoModeDescription$ = VidControl\GetStringProperty("VideoModeDescription")
      VC_InfFilename$ = VidControl\GetStringProperty("InfFilename")
      VC_InfSection$ = VidControl\GetStringProperty("InfSection")
      VC_CurrentRefreshRate$ = VidControl\GetStringProperty("CurrentRefreshRate") + "  Hz"
      VC_DeviceID$ = VidControl\GetStringProperty("DeviceID")
      VC_MaxRefreshRate$ = Str(VidControl\GetIntegerProperty("MaxRefreshRate")) + "   Hz"
      VC_MinRefreshRate$ = Str(VidControl\GetIntegerProperty("MinRefreshRate")) + "   Hz"
      VC_VideoProcessor$ = VidControl\GetStringProperty("VideoProcessor")
      VC_VideoModeDescription$ = VidControl\GetStringProperty("VideoModeDescription")
      VC_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(VidControl\GetIntegerProperty("ConfigManagerErrorCode"))
      VC_Availability$ = Availibility_Info(VidControl\GetIntegerProperty("Availability"))
      VC_CurrentNumberOfColumns$ = Str(VidControl\GetIntegerProperty("CurrentNumberOfColumns"))
      VC_CurrentNumberOfRows$ = Str(VidControl\GetIntegerProperty("CurrentNumberOfRows"))
      VC_VideoMemoryType$ = VC_RamType(VidControl\GetIntegerProperty("VideoMemoryType"))
      VC_DeviceSpecificPens$ = Str(VidControl\GetIntegerProperty("DeviceSpecificPens"))
      VC_ErrorDescription$ = VidControl\GetStringProperty("ErrorDescription")
      VC_NumberOfColorPlanes$ = Str(VidControl\GetIntegerProperty("NumberOfColorPlanes"))
      VC_NumberOfVideoPages$ = Str(VidControl\GetIntegerProperty("NumberOfVideoPages"))
      VC_Status$ = VidControl\GetStringProperty("Status")
        If VidControl\GetIntegerProperty("PowerManagementSupported") = 0
            VC_PowerManagementSupported$ = "False"
          Else
            VC_PowerManagementSupported$ = "True"
        EndIf
        If VidControl\GetIntegerProperty("Monochrome") = 0
            VC_Monochrome$ = "False"
          Else
            VC_Monochrome$ = "True"
        EndIf
        Select VidControl\GetIntegerProperty("CurrentScanMode")
          Case 1
            VC_CurrentScanMode$ = "Other"
          Case 2
            VC_CurrentScanMode$ = "Unknown"
          Case 3
            VC_CurrentScanMode$ = "Interlaced"
          Case 4
            VC_CurrentScanMode$ = "Non-Interlaced"
          Default
            VC_CurrentScanMode$ = "Unknown or Other"
        EndSelect
        Select VidControl\GetIntegerProperty("ICMIntent")
          Case 1
            VC_ICMIntent$ = "Saturation"
          Case 2
            VC_ICMIntent$ = "Contrast"
          Case 3
            VC_ICMIntent$ = "Exact Color"
          Default
            VC_ICMIntent$ = "Unknown or Other"
        EndSelect
        Select VidControl\GetIntegerProperty("ICMMethod")
          Case 1
            VC_ICMMethod$ = "Disabled"
          Case 2
            VC_ICMMethod$ = "Windows"
          Case 3
            VC_ICMMethod$ = "Device Driver"
          Case 4
            VC_ICMMethod$ = "Destination Device"
          Default
            VC_ICMMethod$ = "Unknown or Other"
        EndSelect
        Select VidControl\GetIntegerProperty("DitherType")
          Case 1
            VC_DitherType$ = "No dithering"
          Case 2
            VC_DitherType$ = "Dithering with a coarse brush"
          Case 3
            VC_DitherType$ = "Dithering with a fine brush"
          Case 4
            VC_DitherType$ = "Line art dithering"
          Case 5
            VC_DitherType$ = "Device does gray scaling"
          Default
            VC_DitherType$ = "Unknown or Other"
        EndSelect
        If VidControl\GetIntegerProperty("ConfigManagerUserConfig") = 0
            VC_ConfigManagerUserConfig$ = "False"
          Else
            VC_ConfigManagerUserConfig$ = "True"
        EndIf
      
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Description", "  " + VC_Description_Global$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Device ID", "  " + VC_DeviceID$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Availability", "  " + VC_Availability$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   General Chip Set", "  " + VC_AdapterCompatibility$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   DAC Type", "  " + VC_AdapterDACType$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Video Processor Type", "  " + VC_VideoProcessor$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   vRAM", "  " + VC_AdapterRAM$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Memory Type", "  " + VC_VideoMemoryType$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Current Resolution (H x V)", "  " + VC_Resolution$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Current Scan Mode", "  " + VC_CurrentScanMode$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Current Bits Per Pixel", "  " + VC_CurrentBitsPerPixel$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Current Refresh Rate", "  " + VC_CurrentRefreshRate$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Current Number Of Colors", "  " + VC_CurrentNumberOfColors$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Current Number Of Columns", "  " + VC_CurrentNumberOfColumns$ + "   (valid if in character mode)")
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Current Number Of Rows", "  " + VC_CurrentNumberOfRows$ + "   (valid if in character mode)")
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   ICM Intent", "  " + VC_ICMIntent$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   ICM Method", "  " + VC_ICMMethod$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Dither Type", "  " + VC_DitherType$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Device Specific Pens", "  " + VC_DeviceSpecificPens$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Number Of Color Planes", "  " + VC_NumberOfColorPlanes$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Number Of Video Pages", "  " + VC_NumberOfVideoPages$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Monochrome", "  " + VC_Monochrome$ + "   (If True, gray scale is used to display images.)")
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Video Mode Description", "  " + VC_VideoModeDescription$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Max Refresh Rate", "  " + VC_MaxRefreshRate$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Min Refresh Rate", "  " + VC_MinRefreshRate$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Power Management Supported", "  " + VC_PowerManagementSupported$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Driver Date", "  " + VC_DriverDate$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Driver Version", "  " + VC_DriverVersion$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   INF Name", "  " + VC_InfFilename$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   INF Section", "  " + VC_InfSection$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Driver Name", "  " + VC_InstalledDisplayDrivers$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   User Config", "  " + VC_ConfigManagerUserConfig$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Last Error Description", "  " + VC_ErrorDescription$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Status", "  " + VC_Status$)
      IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "Graphics Card  " + id$ + "   Error Code Info", "  " + VC_ConfigManagerErrorCode$)
      
      VidControl\Release() 
      VidControl = colVidCont\GetNextObject()
    Wend
    colVidCont\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "VidControl")  
EndIf
IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "NOTE 1 (for Refresh Rate)", "  " + "Optimal Refresh Rate occurs at monitors natural resolution and refesh rate.")
IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "NOTE 2 (for Refresh Rate)", "  " + "A value of 0 (zero) indicates the default rate is being used, While 4294967295 indicates the optimal rate is being used.")
IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "NOTE 3", "   The monitor settings should match the Graphics Card settings, the Graphics Card controls the monitor.")
IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "NOTE 4", "   Hardware that is not compatible With Windows Display Driver Model (WDDM) will return inaccurate values.")
IniWrite("C:\systeminfo.txt","Graphics_Card_Info", "============", "End [Graphics_Card_Info] ============" + #CRLF$)
EndProcedure
Last edited by SFSxOI on Wed Mar 04, 2009 6:30 pm, edited 6 times in total.
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

Part 2 for the above, append to above post code:

Code: Select all

Procedure Monitor_Info()

Define.COMateObject objWMIService, MonInfo
colMonInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colMonInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_DesktopMonitor')")
  IniWrite("C:\systeminfo.txt","Monitor_Info", "==================================", " [Monitor_Info] ==============================================")
  If colMonInfo 
    MonInfo = colMonInfo\GetNextObject() 
    While MonInfo
    
      x = x + 1
      id$ = Str(x)
      MN_MonitorManufacturer$ = MonInfo\GetStringProperty("MonitorManufacturer")
      MN_Bandwidth$ = Str(MonInfo\GetIntegerProperty("Bandwidth")) + "  Megahertz"
      MN_MonitorType$ = MonInfo\GetStringProperty("MonitorType")
      MN_PixelsPerXLogicalInch$ = MonInfo\GetStringProperty("PixelsPerXLogicalInch")
      MN_PixelsPerYLogicalInch$ = MonInfo\GetStringProperty("PixelsPerYLogicalInch")
      MN_ScreenHeight$ = MonInfo\GetStringProperty("ScreenHeight")
      MN_ScreenWidth$ = MonInfo\GetStringProperty("ScreenWidth")
      MN_DeviceID$ = MonInfo\GetStringProperty("DeviceID")
      MN_Status$ = MonInfo\GetStringProperty("Status")
      MN_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(MonInfo\GetIntegerProperty("ConfigManagerErrorCode"))
        If MonInfo\GetIntegerProperty("PowerManagementSupported") = 0
            PowerManagement_Supported$ = "False"
          Else
            PowerManagement_Supported$ = "True"
        EndIf
      
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Manufacturer", "  " + MN_MonitorManufacturer$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Device ID", "  " + MN_DeviceID$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Type/Model", "  " + MN_MonitorType$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Pixels Per X Logical Inch", "  " + MN_PixelsPerXLogicalInch$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Pixels Per Y Logical Inch", "  " + MN_PixelsPerYLogicalInch$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Screen Width", "  " + MN_ScreenWidth$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Screen Height", "  " + MN_ScreenHeight$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Bandwidth", "  " + MN_Bandwidth$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Status", "  " + MN_Status$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Power Management Supported", "  " + PowerManagement_Supported$)
      IniWrite("C:\systeminfo.txt","Monitor_Info", "Monitor  " + id$ + "   Error Code Info", "  " + MN_ConfigManagerErrorCode$)
                    
      MonInfo\Release() 
      MonInfo = colMonInfo\GetNextObject()
    Wend
    colMonInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "MonInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Monitor_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","Monitor_Info", "NOTE 1", "  " + "Screen Width and Screen Height should match graphics card Current Resolution (H x V). Optimal Refresh Rate occurs at monitors natural resolution and refesh rate.")
IniWrite("C:\systeminfo.txt","Monitor_Info", "NOTE 2", "  " + "If monitor is not fully WDDM compliant this section might return no information or incorrect information.")
IniWrite("C:\systeminfo.txt","Monitor_Info", "NOTE 3", "  " + "If General PnP is shown as monitor type you do not have a driver installed for your monitor or your monitor is not WDDM compliant.")
IniWrite("C:\systeminfo.txt","Monitor_Info", "NOTE 4", "  " + "Monitor is controlled by the Graphics Card. Settings of the Monitor should match those of the Graphics Card.")
IniWrite("C:\systeminfo.txt","Monitor_Info", "NOTE 5", "  " + "Refer to the Graphics_Card_Info section above for information such as resolution, colors, etc....")
IniWrite("C:\systeminfo.txt","Monitor_Info", "============", "End [Monitor_Info] ============" + #CRLF$)
EndProcedure

Procedure Sound_Info()

Define.COMateObject objWMIService, SDInfo
colSDInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colSDInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_SoundDevice')")
  IniWrite("C:\systeminfo.txt","Sound_Card_Info", "==================================", " [Sound_Card_Info] ==============================================")
  If colSDInfo 
    SDInfo = colSDInfo\GetNextObject() 
    While SDInfo
      
      SD_Manufacturer$ = SDInfo\GetStringProperty("Manufacturer")
      SD_ProductName$ = SDInfo\GetStringProperty("ProductName")
      SD_Description$ = SDInfo\GetStringProperty("Description")
      SD_Name$ = SDInfo\GetStringProperty("Name")
      SD_DMABufferSize$ = Str(SDInfo\GetIntegerProperty("DMABufferSize")) + "  Kilobytes"
      SD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(SDInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      SD_Status$ = SDInfo\GetStringProperty("Status")
      
      IniWrite("C:\systeminfo.txt","Sound_Card_Info", "Name", "  " + SD_Description$)
      IniWrite("C:\systeminfo.txt","Sound_Card_Info", "Product Name", "  " + SD_ProductName$)
      IniWrite("C:\systeminfo.txt","Sound_Card_Info", "Known Name", "  " + SD_Name$)
      IniWrite("C:\systeminfo.txt","Sound_Card_Info", "Manufacturer", "  " + SD_Manufacturer$)
      IniWrite("C:\systeminfo.txt","Sound_Card_Info", "DMA Buffer Size", "  " + SD_DMABufferSize$)
      IniWrite("C:\systeminfo.txt","Sound_Card_Info", "Status", "  " + SD_Status$)
      IniWrite("C:\systeminfo.txt","Sound_Card_Info", "Error Code Info", "  " + SD_ConfigManagerErrorCode$)
      
      SDInfo\Release() 
      SDInfo = colSDInfo\GetNextObject()
    Wend
    colSDInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "SDInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Sound_Card_Info", "============", "End [Sound_Card_Info] ============" + #CRLF$)
EndProcedure

Procedure LogDisk_Info()

Define.COMateObject objWMIService, LDInfo
colLDInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colLDInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_LogicalDisk')")
  IniWrite("C:\systeminfo.txt","Logical_Disk_Info", "==================================", " [Logical_Disk_Info] ==============================================")
  If colLDInfo
    LDInfo = colLDInfo\GetNextObject()
    While LDInfo
    
      Volume_Dirty.i = LDInfo\GetIntegerProperty("VolumeDirty")
        If Volume_Dirty = 0
            LD_VolumeDirty$ = "Disk does not require ChkDsk to be run."
          Else
            LD_VolumeDirty$ = "Disk requires ChkDsk to be run at the next restart."
        EndIf
      LD_VolumeName$ = LDInfo\GetStringProperty("VolumeName")
      Letter_Designation$ = LDInfo\GetStringProperty("Caption")
      DriveType$ = Drive_Type(LDInfo\GetIntegerProperty("DriveType"))
      LD_Description$ = LDInfo\GetStringProperty("Description")
      LD_DeviceID$ = LDInfo\GetStringProperty("DeviceID")
      LD_FileSystem$ = LDInfo\GetStringProperty("FileSystem")
      LD_Name$ = LDInfo\GetStringProperty("Name")
      LD_VolumeSerialNumber$ = LDInfo\GetStringProperty("VolumeSerialNumber")
      LD_Free_Space.i = Val(LDInfo\GetStringProperty("FreeSpace")) / 1024 / 1024 / 1024
      LD_FreeSpace$ = Str(LD_Free_Space) + "   GB"
      LD_Size_Drive.i = Val(LDInfo\GetStringProperty("Size")) / 1024 / 1024 / 1024
      LD_Size$ = Str(LD_Size_Drive) + "   GB"
      LD_Status$ = Dev_Status_Info(LDInfo\GetIntegerProperty("Status"))
      LD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(LDInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Device ID", "  " + LD_DeviceID$ + "     Name:  " + LD_Name$ )
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Description", "  " + LD_Description$ + "     Drive Type:  " + DriveType$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Serial Number", "  " + LD_VolumeSerialNumber$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   File System", "  " + LD_FileSystem$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Drive Size", "   " + LD_Size$ + "   Free Space:  " + LD_FreeSpace$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Drive Size", "   " + LD_Size$ + "   Free Space:  " + LD_FreeSpace$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Volume Name", "  " + LD_VolumeName$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Volume Dirty Status", "  " + LD_VolumeDirty$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Status", "  " + LD_Status$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "Drive:  " + Letter_Designation$ + "   Error Code Info", "  " + LD_ConfigManagerErrorCode$)
      Ini_Write("C:\Comp_Info.txt","Logical_Disk_Info", "============", "============")
      
      LDInfo\Release()
      LDInfo = colLDInfo\GetNextObject()
    Wend
    colLDInfo\Release()
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "LD Info")  
EndIf
IniWrite("C:\systeminfo.txt","Logical_Disk_Info", "============", "End [Logical_Disk_Info] ============" + #CRLF$)
EndProcedure

Procedure NetMappedLogDisk_Info()

Define.COMateObject objWMIService, NMLDInfo
colNMLDInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colNMLDInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_MappedLogicalDisk')")
  IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", "==================================", " [Network_Mapped_Logical_Drive_Info] ==============================================")
  If colNMLDInfo
    NMLDInfo = colNMLDInfo\GetNextObject()
    While NMLDInfo
      
      NM_LD_VolumeName$ = NMLDInfo\GetStringProperty("VolumeName")
      NM_LD_Letter_Designation$ = NMLDInfo\GetStringProperty("Caption")
      NM_LD_DriveType$ = "Network Mapped Drive."
      NM_LD_Description$ = NMLDInfo\GetStringProperty("Description")
      NM_LD_DeviceID$ = NMLDInfo\GetStringProperty("DeviceID")
      NM_LD_FileSystem$ = NMLDInfo\GetStringProperty("FileSystem")
      NM_LD_Name$ = NMLDInfo\GetStringProperty("Name")
      NM_LD_VolumeSerialNumber$ = NMLDInfo\GetStringProperty("VolumeSerialNumber")
      NM_LD_Free_Space.i = Val(NMLDInfo\GetStringProperty("FreeSpace")) / 1024 / 1024 / 1024
      NM_LD_FreeSpace$ = Str(NM_LD_Free_Space) + "   GB"
      NM_LD_Size_Drive.i = Val(NMLDInfo\GetStringProperty("Size")) / 1024 / 1024 / 1024
      NM_LD_Size$ = Str(NM_LD_Size_Drive) + "   GB"
      NM_LD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(NMLDInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      NM_Drv_Desig$ = "Drive Designation:  " + NM_LD_Letter_Designation$ + "    Device ID:  " + NM_LD_DeviceID$ + "     Name:  " + NM_LD_Name$
      NM_Drv_Info_Type$ = "Drive Designation:  " + NM_LD_Letter_Designation$ +"    Description:  " + NM_LD_Description$ + "     Drive Type:  " + NM_LD_DriveType$
      NM_Drv_Info_Misc$ = "Drive Designation:  " + NM_LD_Letter_Designation$  + "    File System:  " + NM_LD_FileSystem$ + "     Serial Number:  " + NM_LD_VolumeSerialNumber$
      NM_Drv_Info_EC$ = "Error Code Info:    Drive " + NM_LD_Letter_Designation$ + "     " + NM_LD_ConfigManagerErrorCode$
      NM_Drv_Size_Info$ = "Drive Designation:  " + NM_LD_Letter_Designation$ + "    Drive Size:  " + NM_LD_Size$ + "   Free Space:  " + NM_LD_FreeSpace$
      NM_Drv_Desig_VolumeName$ = "Drive Designation:  " + NM_LD_Letter_Designation$ + "   Volume Name:  " + NM_LD_VolumeName$
                  
      IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", NM_Drv_Desig$, "  ")
      IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", NM_Drv_Info_Type$, "  ")
      IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", NM_Drv_Size_Info$, "   ")
      IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", NM_Drv_Info_Misc$, "  ")
      IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", NM_Drv_Info_EC$, "  ")
      IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", "============", "============")
      
      NMLDInfo\Release()
      NMLDInfo = colNMLDInfo\GetNextObject()
    Wend
    colNMLDInfo\Release()
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "NMLDInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Network_Mapped_Logical_Drive_Info", "============", "End [Network_Mapped_Logical_Drive_Info] ============" + #CRLF$)
EndProcedure

Procedure.s PING_Info() 
  Define.COMateObject objWMIService, PINGInfo
  sysPINGInfo.COMateEnumObject 
  strComputer.s = "."
  strTarget$ = "69.147.76.15" ; www.yahoo.com
  
  objWMIService = COMate_GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + strComputer + "\root\cimv2", "") 
  If objWMIService
    sysPINGInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_PingStatus Where Address= $0027" + strTarget$ +"$0027')")
    IniWrite("C:\systeminfo.txt","Ping_Info", "==================================", " [Ping_Info] ==============================================")  
    If sysPINGInfo
      PINGInfo = sysPINGInfo\GetNextObject()
      While PINGInfo
        
        PING_StatusCode$ = Ping_Status_Code(PINGInfo\GetIntegerProperty("StatusCode"))
        PING_ProtocolAddress$ = PINGInfo\GetStringProperty("ProtocolAddress")
        PING_ResponseTime$ = Str(PINGInfo\GetIntegerProperty("ResponseTime"))
        PING_ResponseTimeToLive$ = Str(PINGInfo\GetIntegerProperty("ResponseTimeToLive"))
        PING_ReplySize$ = Str(PINGInfo\GetIntegerProperty("ReplySize"))
        PING_BufferSize$ = Str(PINGInfo\GetIntegerProperty("BufferSize"))
        PING_Timeout$ = Str(PINGInfo\GetIntegerProperty("Timeout"))
           
        PING_Get_Info$ = "Ping Status:   " + PING_StatusCode$ + "   Protocol Address:   " + PING_ProtocolAddress$ + " (www.yahoo.com)" + "   Response Time (ms):  " + PING_ResponseTime$ + "   Response Time To Live (ms):  "
        IniWrite("C:\systeminfo.txt","Ping_Info", PING_Get_Info$, "  " + PING_ResponseTimeToLive$)
        IniWrite("C:\systeminfo.txt","Ping_Info", "Buffer Size", "  " + PING_BufferSize$ + "  (size of the buffer sent)")
        IniWrite("C:\systeminfo.txt","Ping_Info", "Reply Size", "  " + PING_ReplySize$ + "  (size of the buffer returned)")
        IniWrite("C:\systeminfo.txt","Ping_Info", "Timeout", "  " + PING_Timeout$ + "   (milliseconds (ms). If response not received in this time, no response is assumed. The default is 1000 milliseconds.)")
        
        PINGInfo\Release()
        PINGInfo = sysPINGInfo\GetNextObject()
      Wend 
      sysPINGInfo\Release()
       
    EndIf 
      objWMIService\Release()
    Else
      MessageRequester("Error", "PINGInfoInfo")  
  EndIf
  IniWrite("C:\systeminfo.txt","Ping_Info", "============", "End [Ping_Info] ============" + #CRLF$) 
EndProcedure

Procedure DD_Info()

Define.COMateObject objWMIService, DDInfo
Define *var.VARIANT, *varDD.VARIANT
*sa.SafeArray
colDDInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colDDInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_DiskDrive')")
  IniWrite("C:\systeminfo.txt","Drive_Info", "==================================", " [Drive_Info] ==============================================")
  If colDDInfo
    DDInfo = colDDInfo\GetNextObject()
    While DDInfo
        
      DD_Model$ = DDInfo\GetStringProperty("Model")
      DD_MediaType$ = DDInfo\GetStringProperty("MediaType")
      DD_Description$ = DDInfo\GetStringProperty("Description")
      DD_DeviceID$ = DDInfo\GetStringProperty("DeviceID")
      DD_Manufacturer$ = DDInfo\GetStringProperty("Manufacturer")
      DD_SysName$ = DDInfo\GetStringProperty("Name")
      DD_Index$ = Str(DDInfo\GetIntegerProperty("Index"))
      DD_Signature$ = Str(DDInfo\GetIntegerProperty("Signature"))
      DD_Status$ = DDInfo\GetStringProperty("Status")
        If DDInfo\GetIntegerProperty("MediaLoaded") = 0
            DD_MediaLoaded$ = "False"
            Media_Loaded.i = 0
            Media_Loaded_Note$ = "This drive may not be functioning correctly or is a virtual drive type or is not formatted/partitioned."
          Else
            DD_MediaLoaded$ = "True"
            Media_Loaded.i = 1
        EndIf
      DD_SCSIBus$ = Str(DDInfo\GetIntegerProperty("SCSIBus"))
      DD_Partitions$ = Str(DDInfo\GetIntegerProperty("Partitions"))
      DD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(DDInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      DD_InterfaceType$ = DDInfo\GetStringProperty("InterfaceType")
      DD_FirmwareRevision$ = DDInfo\GetStringProperty("FirmwareRevision")
      DD_Size_Drive.i = Val(DDInfo\GetStringProperty("Size")) / 1024 / 1024 / 1024
      DD_Size$ = Str(DD_Size_Drive) + "   GB"
      DD_TotalHeads$ = Str(DDInfo\GetIntegerProperty("TotalHeads"))
      DD_TotalCylinders$ = Str(DDInfo\GetIntegerProperty("TotalCylinders"))
      DD_TracksPerCylinder$ = Str(DDInfo\GetIntegerProperty("TracksPerCylinder"))
      DD_TotalSectors$ = Str(DDInfo\GetIntegerProperty("TotalSectors"))
      DD_TotalTracks$ = Str(DDInfo\GetIntegerProperty("TotalTracks"))
      DD_SectorsPerTrack$ = Str(DDInfo\GetIntegerProperty("SectorsPerTrack"))
        If (DDInfo\GetIntegerProperty("TotalHeads") = 0) And (DDInfo\GetIntegerProperty("TotalCylinders") = 0) And (DDInfo\GetIntegerProperty("TotalSectors") = 0) And (DDInfo\GetIntegerProperty("TotalTracks") = 0) And (DDInfo\GetIntegerProperty("Partitions") = 0)     
            Virt_Format1$ = "This drive is either a virtual drive or is not formatted/partitioned or has been installed by another device software for use of that device."
            inc_note1.i = 1
          Else
            inc_note1.i = 0
        EndIf
        If (DDInfo\GetIntegerProperty("TotalHeads") > 0) And (DDInfo\GetIntegerProperty("TotalCylinders") > 0) And (DDInfo\GetIntegerProperty("TotalSectors") > 0) And (DDInfo\GetIntegerProperty("TotalTracks") > 0) And (DDInfo\GetIntegerProperty("Partitions") = 0)     
            Virt_Format2$ = "Its possible this drive is not formatted, partitioned, or both."
            inc_note2.i = 1
          Else
            inc_note2.i = 0
        EndIf
        
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Model", "  " + DD_Model$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Manufacturer", "  " + DD_Manufacturer$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Description", "  " + DD_Description$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Device ID", "  " + DD_DeviceID$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   System Name", "  " + DD_SysName$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Firmware Revision", "  " + DD_FirmwareRevision$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   System Index", "  " + DD_Index$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Interface Type", "  " + DD_InterfaceType$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   SCSI Bus Number", "  " + DD_SCSIBus$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Signature", "  " + DD_Signature$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Media Type", "  " + DD_MediaType$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Media Loaded", "  " + DD_MediaLoaded$)
      *var = DDInfo\GetVariantProperty("CapabilityDescriptions")
        If *var\vt <> #VT_NULL
          *sa = *var\parray
          For i = saLBound(*sa) To saUBound(*sa)
            *varDD = SA_VARIANT(*sa, i)
            If *varDD\vt <> #VT_BSTR
              VariantChangeType_(*varDD, *varDD, 0, #VT_BSTR)
            EndIf
            DD_Capabilitity$ = PeekS(*varDD\bstrVal, -1, #PB_Unicode)
            IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Capability" + "  " + Str(i + 1), "  " + DD_Capabilitity$)
            VariantClear_(*varDD)
          Next
          saFreeSafeArray(*sa)
      EndIf
      VariantClear_(*var) : FreeMemory(*var)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Size (GB)", "  " + DD_Size$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Total Heads", "  " + DD_TotalHeads$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Total Cylinders", "  " + DD_TotalCylinders$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Tracks Per Cylinder", "  " + DD_TracksPerCylinder$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Total Sectors", "  " + DD_TotalSectors$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Sectors Per Track", "  " + DD_SectorsPerTrack$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Number Partitions", "  " + DD_Partitions$)
        If inc_note1 = 1
          IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   DRIVE NOTE", "  " + Virt_Format1$)
        EndIf
        If inc_note2 = 1
          IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   NOTE ABOUT THIS DRIVE", "  " + Virt_Format2$)
        EndIf
        If Media_Loaded = 0
          IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   WARNING", "  " + Media_Loaded_Note$)
        EndIf
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Status", "  " + DD_Status$)
      IniWrite("C:\systeminfo.txt","Drive_Info", DD_SysName$ + "   Error Code Info", "  " + DD_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","Drive_Info", "============", "============")
      
      DDInfo\Release()
      DDInfo = colDDInfo\GetNextObject()
    Wend
    colDDInfo\Release()
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "DDInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Drive_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","Drive_Info", "Note 1 for Drives", "  " + "Heads/Cylinders/Tracks Per Cylinder/Sectors obtained through extended functions of BIOS interrupt 13h.")
IniWrite("C:\systeminfo.txt","Drive_Info", "Note 2 for Drives", "  " + "Heads/Cylinders/Tracks Per Cylinder/Sectors may report incorrectly if drive uses a translation scheme to support high-capacity disk sizes.")
IniWrite("C:\systeminfo.txt","Drive_Info", "Note 3 for Drives", "  " + "If Heads/Cylinders/Tracks Per Cylinder/Sectors seem incorrect consult manufacturer for accurate drive specifications.")
IniWrite("C:\systeminfo.txt","Drive_Info", "Note for Drive Size", "  " + "Calculated by multiplying the total number of cylinders, tracks in each cylinder, sectors in each track, and bytes in each sector.")
IniWrite("C:\systeminfo.txt","Drive_Info", "Note for Status", "  " + "If Status = Pred Fail - it indicates you have a drive that is predicting failure in the near future.")
IniWrite("C:\systeminfo.txt","Drive_Info", "Note for Interface Type", " SATA drives may show with Interface Type = IDE")
IniWrite("C:\systeminfo.txt","Drive_Info", "============", "End [Drive_Info] ============" + #CRLF$)
EndProcedure

Procedure CD_DVD_Info()

Define.COMateObject objWMIService, CDInfo
Define *var.VARIANT, *varCD.VARIANT
*sa.SafeArray
colCDInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colCDInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_CDROMDrive')")
  IniWrite("C:\systeminfo.txt","CD/DVD_Info", "==================================", " [CD/DVD_Info] ==============================================")
  If colCDInfo 
    CDInfo = colCDInfo\GetNextObject() 
    While CDInfo
      
      CD_Name$ = CDInfo\GetStringProperty("Name")
      CD_Drive$ = CDInfo\GetStringProperty("Drive")
      CD_Manufacturer$ = CDInfo\GetStringProperty("Manufacturer")
      CD_MediaType$ = CDInfo\GetStringProperty("MediaType")
        If FindString(OS_Caption_Global$, "Vista", 1) > 0
            CD_MfrAssignedRevisionLevel$ = CDInfo\GetStringProperty("MfrAssignedRevisionLevel")
          Else
            CD_MfrAssignedRevisionLevel$ = "Property not available for this Operating System version."
        EndIf
      CD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(CDInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      
      CD_DVD$ = "CD/DVD Drive:  " + CD_Drive$
      IniWrite("C:\systeminfo.txt","CD/DVD_Info", CD_DVD$ + "   Name  ", "   " + CD_Name$)
      IniWrite("C:\systeminfo.txt","CD/DVD_Info", CD_DVD$ + "   Manufacturer  ", "   " + CD_Manufacturer$)
      IniWrite("C:\systeminfo.txt","CD/DVD_Info", CD_DVD$ + "   Firmware Revision Level  ", "   " + CD_MfrAssignedRevisionLevel$)
      IniWrite("C:\systeminfo.txt","CD/DVD_Info", CD_DVD$ + "   Media Type  ", "   "  + CD_MediaType$)
      *var = CDInfo\GetVariantProperty("CapabilityDescriptions")
        If *var\vt <> #VT_NULL
          *sa = *var\parray
          For i = saLBound(*sa) To saUBound(*sa)
            *varCD = SA_VARIANT(*sa, i)
            If *varCD\vt <> #VT_BSTR
              VariantChangeType_(*varCD, *varCD, 0, #VT_BSTR)
            EndIf
            CD_Capabilitity$ = PeekS(*varCD\bstrVal, -1, #PB_Unicode)
            IniWrite("C:\systeminfo.txt","CD/DVD_Info", CD_DVD$ + "   Capability" + "  " + Str(i + 1), "  " + CD_Capabilitity$)
            VariantClear_(*varCD)
          Next
          saFreeSafeArray(*sa)
        EndIf
        VariantClear_(*var) : FreeMemory(*var)
      IniWrite("C:\systeminfo.txt","CD/DVD_Info", CD_DVD$ + "   CD/DVD Error Code Info  ", "   "  + CD_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","CD/DVD_Info", "============", "============")
                
      CDInfo\Release() 
      CDInfo = colCDInfo\GetNextObject()
    Wend
    colCDInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "CDInfo")  
EndIf
IniWrite("C:\systeminfo.txt","CD/DVD_Info", "============", "End [CD/DVD_Info] ============" + #CRLF$)
EndProcedure

Procedure IDE_Info()

Define.COMateObject objWMIService, IDEInfo
colIDEInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colIDEInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_IDEController')")
  IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "==================================", " [IDE_Controller_Info] ==============================================")
  If colIDEInfo 
    IDEInfo = colIDEInfo\GetNextObject() 
    While IDEInfo
      
      x = x + 1
      id$ = Str(x)
      IDE_Manufacturer$ = IDEInfo\GetStringProperty("Manufacturer")
      IDE_DeviceID$ = IDEInfo\GetStringProperty("DeviceID")
      IDE_Description$ = IDEInfo\GetStringProperty("Description")
      IDE_Status$ = IDEInfo\GetStringProperty("Status")
      IDE_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(IDEInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      
      IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "Controller  " + id$ + "   Description", "  " + IDE_Description$)
      IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "Controller  " + id$ + "   Manufacturer", "  " + IDE_Manufacturer$)
      IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "Controller  " + id$ + "   Device ID", "  " + IDE_DeviceID$)
      IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "Controller  " + id$ + "   Status", "  " + IDE_Status$)
      IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "Controller  " + id$ + "   Error Code Info", "  " + IDE_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "============", "============")
      
      IDEInfo\Release() 
      IDEInfo = colIDEInfo\GetNextObject()
    Wend
    colIDEInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "IDEInfo")  
EndIf
IniWrite("C:\systeminfo.txt","IDE_Controller_Info", "============", "End [IDE_Controller_Info] ============" + #CRLF$)
EndProcedure
Last edited by SFSxOI on Mon Feb 23, 2009 12:33 am, edited 3 times in total.
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

This is part 3 to the above two, append to the above:

Code: Select all

Procedure KB_Info()

Define.COMateObject objWMIService, KBInfo
colKBInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colKBInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_Keyboard')")
  IniWrite("C:\systeminfo.txt","Keyboard_Info", "==================================", " [Keyboard_Info] ==============================================")
  If colKBInfo 
    KBInfo = colKBInfo\GetNextObject() 
    While KBInfo
      
      x = x + 1
      id$ = Str(x)
      KB_Caption$ = KBInfo\GetStringProperty("Caption")
      KB_Description$ = KBInfo\GetStringProperty("Description")
      KB_Layout$ = KBInfo\GetStringProperty("Layout")
      KB_Name$ = KBInfo\GetStringProperty("Name")
      KB_PNPDeviceID$ = KBInfo\GetStringProperty("PNPDeviceID")
      KB_DeviceID$ = KBInfo\GetStringProperty("DeviceID")
      KB_NumberOfFunctionKeys$ = Str(KBInfo\GetIntegerProperty("NumberOfFunctionKeys"))
      KB_Status$ = KBInfo\GetStringProperty("Status")
      KB_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(KBInfo\GetIntegerProperty("ConfigManagerErrorCode"))
        If KBInfo\GetIntegerProperty("ConfigManagerUserConfig") = 0
            KB_ConfigManagerUserConfig$ = "False"
          Else
            KB_ConfigManagerUserConfig$ = "True"
        EndIf
      
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Type", "  " + KB_Caption$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Description", "  " + KB_Description$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Name", "  " + KB_Name$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Device ID", "  " + PDI_DeviceID$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   PNP Device ID", "  " + PDI_PNPDeviceID$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Layout", "  " + KB_Layout$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Number Of Function Keys", "  " + KB_NumberOfFunctionKeys$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   User Config", "  " + KB_ConfigManagerUserConfig$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Status", "  " + KB_Status$)
      IniWrite("C:\systeminfo.txt","Keyboard_Info", "Keyboard  " + id$ + "   Error Code Info", "  " + KB_ConfigManagerErrorCode$)
      
      KBInfo\Release() 
      KBInfo = colKBInfo\GetNextObject()
    Wend
    colKBInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "KBInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Keyboard_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","Keyboard_Info", "Note for Keyboard Info", "  Keyboard information shown as 'Unknown' does not necessarily indicate a problem, don't be alarmed. Some keyboards report this way, especially USB keyboards.")
IniWrite("C:\systeminfo.txt","Keyboard_Info", "============", "End [Keyboard_Info] ============" + #CRLF$)
EndProcedure

Procedure.s PointDeviceFriendlyNameInfo()

Define.COMateObject objWMIService, PDNameInfo
colPDNameInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colPDNameInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_PnPEntity')")
  IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "==================================", " [Installed_Pointing_Device_Friendly_Name_Info] ==============================================")
  If colPDNameInfo 
    PDNameInfo = colPDNameInfo\GetNextObject() 
    While PDNameInfo
    
      x = x + 1
      id$ = Str(x)
      PDN_Descript$ = PDNameInfo\GetStringProperty("Description")
      If ((FindString(PDN_Descript$, "Mouse", 1) > 0) Or (FindString(PDN_Descript$, "Track", 1) > 0)) And ((FindString(PDN_Descript$, "Terminal", 1) = 0) And (FindString(PDNameInfo\GetStringProperty("DeviceID"), "Root", 1) = 0))
      PDI_Availability$ = Availibility_Info(PDNameInfo\GetIntegerProperty("Availability"))
      
      PDN_Description$ = PDNameInfo\GetStringProperty("Description")
      PDN_Name$ = PDNameInfo\GetStringProperty("Name")
      PDN_DeviceID$ = PDNameInfo\GetStringProperty("DeviceID")
      PDN_CreationClassName$ = PDNameInfo\GetStringProperty("CreationClassName")
      PDN_PnPDeviceID$ = PDNameInfo\GetStringProperty("PNPDeviceID")
      PDN_Manufacturer$ = PDNameInfo\GetStringProperty("Manufacturer")
      PDN_ClassGuid$ = PDNameInfo\GetStringProperty("ClassGuid")
      
      PDN_Status$ = PDNameInfo\GetStringProperty("Status")
      PDN_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(PDNameInfo\GetIntegerProperty("ConfigManagerErrorCode"))
        If PDNameInfo\GetIntegerProperty("ConfigManagerUserConfig") = 0
            PDN_ConfigManagerUserConfig$ = "False"
          Else
            PDN_ConfigManagerUserConfig$ = "True"
        EndIf
      
      y = y + 1
      idy$ = Str(y)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Description", "  " + PDN_Description$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Name", "  " + PDN_Name$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Manufacturer", "  " + PDN_Manufacturer$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Device ID", "  " + PDN_DeviceID$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   PnP Device ID", "  " + PDN_PnPDeviceID$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Class Guid", "  " + PDN_ClassGuid$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Availibility", "  " + PDI_Availability$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   User Config", "  " + PDN_ConfigManagerUserConfig$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Status", "  " + PDN_Status$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "Pointing Device  " + idy$ + "   Error Code Info", "  " + PDN_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "============", "============")
      EndIf
               
      PDNameInfo\Release() 
      PDNameInfo = colPDNameInfo\GetNextObject()
    Wend
    colPDNameInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "PDNInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Installed_Pointing_Device_Friendly_Name_Info", "============", "End [Installed_Pointing_Device_Friendly_Name_Info] ============" + #CRLF$)
EndProcedure

Procedure PointingDevice_Info()

Define.COMateObject objWMIService, PointingDeviceInfo
colPointingDeviceInfo.COMateEnumObject
strComputer.s = "." 
objWMIService = COMate_GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + strComputer + "\root\cimv2", "")
;objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colPointingDeviceInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_PointingDevice')")
  IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "==================================", " [Pointing_Device_Info] ==============================================")
  If colPointingDeviceInfo 
    PointingDeviceInfo = colPointingDeviceInfo\GetNextObject() 
    While PointingDeviceInfo
    
      x = x + 1
      id$ = Str(x)
      PDI_Description$ = PointingDeviceInfo\GetStringProperty("Description")
      PDI_InfFileName$ = PointingDeviceInfo\GetStringProperty("InfFileName")
      PDI_InfSection$ = PointingDeviceInfo\GetStringProperty("InfSection")
      PDI_PNPDeviceID$ = PointingDeviceInfo\GetStringProperty("PNPDeviceID")
      PDI_Availability$ = Availibility_Info(PointingDeviceInfo\GetIntegerProperty("Availability"))
      PDI_DeviceID$ = PointingDeviceInfo\GetStringProperty("DeviceID")
      PDI_DoubleSpeedThreshold$ = Str(PointingDeviceInfo\GetIntegerProperty("DoubleSpeedThreshold")) + "   Mickeys"
      PDI_QuadSpeedThreshold$ = Str(PointingDeviceInfo\GetIntegerProperty("QuadSpeedThreshold")) + "   Mickeys"
      PDI_Resolution$ = Str(PointingDeviceInfo\GetIntegerProperty("Resolution"))
        Select PointingDeviceInfo\GetIntegerProperty("Handedness")
          Case 0
            PDI_Handedness$ = "Unknown"
          Case 1
            PDI_Handedness$ = "Not Applicable"
          Case 2
            PDI_Handedness$ = "Right-Handed Operation"
          Case 4
            PDI_Handedness$ = "Left-Handed Operation"
          Default
            PDI_Handedness$ = "Unknown"
        EndSelect
        If PointingDeviceInfo\GetIntegerProperty("PowerManagementSupported") = 0
            PowerManagement_Supported$ = "False"
          Else
            PowerManagement_Supported$ = "True"
        EndIf
      PDI_NumberOfButtons$ = Str(PointingDeviceInfo\GetIntegerProperty("NumberOfButtons"))
      PDI_Manufacturer$ = PointingDeviceInfo\GetStringProperty("Manufacturer")
      PDI_Name$ = PointingDeviceInfo\GetStringProperty("Name")
      PDI_PointingType$ = Comp_Mouse_PointingType(PointingDeviceInfo\GetIntegerProperty("PointingType"))
      PDI_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(PointingDeviceInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      PDI_DeviceInterface$ = Point_Device_Interface(PointingDeviceInfo\GetIntegerProperty("DeviceInterface"))
      PDI_HardwareType$ = PointingDeviceInfo\GetStringProperty("HardwareType")
      PDI_Status$ = PointingDeviceInfo\GetStringProperty("Status")
      PDI_SampleRate$ = Str(PointingDeviceInfo\GetIntegerProperty("SampleRate")) + "   Hertz"
        If PointingDeviceInfo\GetIntegerProperty("ConfigManagerUserConfig") = 0
            PDI_ConfigManagerUserConfig$ = "False"
          Else
            PDI_ConfigManagerUserConfig$ = "True"
        EndIf
      
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Description", "  " + PDI_Description$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Name", "  " + PDI_Name$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Availability", "  " + PDI_Availability$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Device ID", "  " + PDI_DeviceID$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   PNP Device ID", "  " + PDI_PNPDeviceID$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Manufacturer", "  " + PDI_Manufacturer$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Hardware Type", "  " + PDI_HardwareType$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Interface", "  " + PDI_DeviceInterface$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Pointing Type", "  " + PDI_PointingType$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Handedness", "  " + PDI_Handedness$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Sample Rate", "  " + PDI_SampleRate$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Double Speed Threshold", "  " + PDI_DoubleSpeedThreshold$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Quad Speed Threshold", "  " + PDI_QuadSpeedThreshold$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Resolution", "  " + PDI_Resolution$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Number Of Buttons", "  " + PDI_NumberOfButtons$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   INF File Name", "  " + PDI_InfFileName$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   INF Section", "  " + PDI_InfSection$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   User Config", "  " + PDI_ConfigManagerUserConfig$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Power Management Supported", "  " + PowerManagement_Supported$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Status", "  " + PDI_Status$)
      IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Pointing Device  " + id$ + "   Error Code Info", "  " + PDI_ConfigManagerErrorCode$)
      
      PointingDeviceInfo\Release() 
      PointingDeviceInfo = colPointingDeviceInfo\GetNextObject()
    Wend
    colPointingDeviceInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "PDIInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "Note for Pointing_Device_Info", "  Pointing Device information may show as something you don't expect. It does not necessarily indicate a problem, don't be alarmed. Some products report this way, especially USB mouse products.")
IniWrite("C:\systeminfo.txt","Pointing_Device_Info", "============", "End [Pointing_Device_Info] ============" + #CRLF$)
EndProcedure

Procedure USBDevice_Info()

Define.COMateObject objWMIService, USBDeviceInfo
Define *var.VARIANT, *varUSBD.VARIANT
*sa.SafeArray
colUSBDeviceInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colUSBDeviceInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from CIM_USBDevice')")
  IniWrite("C:\systeminfo.txt","USB_Device_Info", "==================================", " [USB_Device_Info] ==============================================")
  If colUSBDeviceInfo 
    USBDeviceInfo = colUSBDeviceInfo\GetNextObject() 
    While USBDeviceInfo
    
      x = x + 1
      id$ = Str(x)
      USBD_Description$ = USBDeviceInfo\GetStringProperty("Description")
      USBD_Name$ = USBDeviceInfo\GetStringProperty("Name")
      USBD_DeviceID$ = USBDeviceInfo\GetStringProperty("DeviceID")
      USBD_Status$ = USBDeviceInfo\GetStringProperty("Status")
      USBD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(USBDeviceInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      
      IniWrite("C:\systeminfo.txt","USB_Device_Info", "USB Device  " + id$ + "   Description", "  " + USBD_Description$)
      IniWrite("C:\systeminfo.txt","USB_Device_Info", "USB Device  " + id$ + "   Name", "  " + USBD_Name$)
      IniWrite("C:\systeminfo.txt","USB_Device_Info", "USB Device  " + id$ + "   Device ID", "  " + USBD_DeviceID$)
      IniWrite("C:\systeminfo.txt","USB_Device_Info", "USB Device  " + id$ + "   Status", "  " + USBD_Status$)
      IniWrite("C:\systeminfo.txt","USB_Device_Info", "USB Device  " + id$ + "   Error Code Info", "  " + USBD_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","USB_Device_Info", "============", "============")
            
      USBDeviceInfo\Release() 
      USBDeviceInfo = colUSBDeviceInfo\GetNextObject()
    Wend
    colUSBDeviceInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "USBDInfo")  
EndIf
IniWrite("C:\systeminfo.txt","USB_Device_Info", "============", "End [USB_Device_Info] ============" + #CRLF$)
EndProcedure
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

This is part 4 to the above, append to the others above.

Code: Select all

Procedure LOGICALDevice_Info()

Define.COMateObject objWMIService, LOGDeviceInfo
colLOGDeviceInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colLOGDeviceInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from CIM_LogicalDevice')")
  IniWrite("C:\systeminfo.txt","Logical_Device_Info", "==================================", " [Logical_Device_Info] ==============================================")
  If colLOGDeviceInfo 
    LOGDeviceInfo = colLOGDeviceInfo\GetNextObject() 
    While LOGDeviceInfo
    
      x = x + 1
      id$ = Str(x)
      LOGD_Description$ = LOGDeviceInfo\GetStringProperty("Description")
      LOGD_Name$ = LOGDeviceInfo\GetStringProperty("Name")
      LOGD_DeviceID$ = LOGDeviceInfo\GetStringProperty("DeviceID")
      LOGD_Status$ = LOGDeviceInfo\GetStringProperty("Status")
      LOGD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(LOGDeviceInfo\GetIntegerProperty("ConfigManagerErrorCode"))
            
      IniWrite("C:\systeminfo.txt","Logical_Device_Info", "Logical Device  " + id$ + "   Description", "  " + LOGD_Description$)
      IniWrite("C:\systeminfo.txt","Logical_Device_Info", "Logical Device  " + id$ + "   Name", "  " + LOGD_Name$)
      IniWrite("C:\systeminfo.txt","Logical_Device_Info", "Logical Device  " + id$ + "   Device ID", "  " + LOGD_DeviceID$)
      IniWrite("C:\systeminfo.txt","Logical_Device_Info", "Logical Device  " + id$ + "   Status", "  " + LOGD_Status$)
      IniWrite("C:\systeminfo.txt","Logical_Device_Info", "Logical Device  " + id$ + "   Error Code Info", "  " + LOGD_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","Logical_Device_Info", "============", "============")
            
      LOGDeviceInfo\Release() 
      LOGDeviceInfo = colLOGDeviceInfo\GetNextObject()
    Wend
    colLOGDeviceInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "LOGDInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Logical_Device_Info", "============", "End [Logical_Device_Info] ============" + #CRLF$)
EndProcedure

Procedure UserDevice_Info()

Define.COMateObject objWMIService, UserDeviceInfo
colUserDeviceInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colUserDeviceInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from CIM_UserDevice')")
  IniWrite("C:\systeminfo.txt","User_Device_Info", "==================================", " [User_Device_Info] ==============================================")
  If colUserDeviceInfo 
    UserDeviceInfo = colUserDeviceInfo\GetNextObject() 
    While UserDeviceInfo
    
      x = x + 1
      id$ = Str(x)
      UD_Description$ = UserDeviceInfo\GetStringProperty("Description")
      UD_DeviceID$ = UserDeviceInfo\GetStringProperty("DeviceID")
      UD_Name$ = UserDeviceInfo\GetStringProperty("Name")
      UD_Status$ = UserDeviceInfo\GetStringProperty("Status")
      UD_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(UserDeviceInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      
      IniWrite("C:\systeminfo.txt","User_Device_Info", "User Device  " + id$ + "   Description", "  " + UD_Description$)
      IniWrite("C:\systeminfo.txt","User_Device_Info", "User Device  " + id$ + "   Name", "  " + UD_Name$)
      IniWrite("C:\systeminfo.txt","User_Device_Info", "User Device  " + id$ + "   Device ID", "  " + UD_DeviceID$)
      IniWrite("C:\systeminfo.txt","User_Device_Info", "User Device  " + id$ + "   Status", "  " + UD_Status$)
      IniWrite("C:\systeminfo.txt","User_Device_Info", "User Device  " + id$ + "   Error Code Info", "  " + UD_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","User_Device_Info", "============", "============")
            
      UserDeviceInfo\Release() 
      UserDeviceInfo = colUserDeviceInfo\GetNextObject()
    Wend
    colUserDeviceInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "UDInfo")  
EndIf
IniWrite("C:\systeminfo.txt","User_Device_Info", "============", "End [User_Device_Info] ============" + #CRLF$)
EndProcedure

Procedure.s CPU_Info()

  Define.COMateObject objWMIService, CPU, PROC 
  procCPU.COMateEnumObject
  sysCPU.COMateEnumObject 
  strComputer.s = "." 
  
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService
    sysCPU = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_Processor')")  
    procCPU = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_ComputerSystem')")
    IniWrite("C:\systeminfo.txt","CPU_Info", "==================================", " [CPU_Info] ==============================================") 
    If sysCPU And procCPU
      CPU = sysCPU\GetNextObject()
      PROC = procCPU\GetNextObject()
      While CPU
      
        x = x + 1
        id$ = Str(x)
        CPU_Proc_Num$ = Str(PROC\GetIntegerProperty("NumberOfProcessors"))
        CPU_System_Type$ = PROC\GetStringProperty("SystemType")
        COMP_Status_Global$ = PROC\GetStringProperty("Status")
        CPU_Num_Core$ = Str(CPU\GetIntegerProperty("NumberOfCores"))
        CPU_Num_Logical$ = Str(CPU\GetIntegerProperty("NumberOfLogicalProcessors"))
        CPU_Manufacturer$ = CPU\GetStringProperty("Manufacturer")
        CPU_ExtClock$ = Str(CPU\GetIntegerProperty("ExtClock"))
        CPU_Family$ = CPU_Family_Type(CPU\GetIntegerProperty("Family"))
        nsm_enabled.i = CPU\GetIntegerProperty("NetworkServerModeEnabled")
          If nsm_enabled = 0
              CPU_NetworkServerModeEnabled$ = "False"
            Else
              CPU_NetworkServerModeEnabled$ = "True"
          EndIf
        CPU_Version$ = CPU\GetStringProperty("Version")
        CPU_CurrentClockSpeed$ = Str(CPU\GetIntegerProperty("CurrentClockSpeed"))
        ;----------------------------------------------
        ; below voltage is board and system dependant and if SMBIOS sets the voltage or not     
        Hex_volt.s = Str(CPU\GetIntegerProperty("CurrentVoltage"))
        voltx.f = Val(Base_cnvrt(Hex_volt,16)) / 10
        CPU_Volts$ = StrF(voltx)
        ;--------------------------------------------- 
        CPU_AddressWidth_Global$ = Str(CPU\GetIntegerProperty("AddressWidth"))   
        CPU_AddressWidth$ = CPU_AddressWidth_Global$
        CPU_DataWidth_Total$ = Str(CPU\GetIntegerProperty("DataWidth"))
        CPU_DataWidth_Core$ = Str(CPU\GetIntegerProperty("DataWidth") / CPU\GetIntegerProperty("NumberOfLogicalProcessors"))
        CPU_Caption$ = CPU\GetStringProperty("Caption") 
        CPU_Name$ = CPU\GetStringProperty("Name")
        CPU_ProcessorId$ = CPU\GetStringProperty("ProcessorId")
        CPU_GUID$ = CPU\GetStringProperty("UniqueId")
        CPU_SocketType$ = CPU\GetStringProperty("SocketDesignation")
        CPU_DeviceID$ = CPU\GetStringProperty("DeviceID") 
        CPU_MaxClockSpeed$ = Str(CPU\GetIntegerProperty("MaxClockSpeed"))
        CPU_L2CacheSize$ = Str(CPU\GetIntegerProperty("L2CacheSize"))
        L2CacheSize_cpu.i = CPU\GetIntegerProperty("L2CacheSize")
        CPU_L2CacheSize_cpu$ = "  (" + Str(L2CacheSize_cpu / 1024) + " MB Cache Size)"
        CPU_L2CacheSize$ = Str(CPU\GetIntegerProperty("L2CacheSize"))
        CPU_L2CacheSpeed$ = Str(CPU\GetIntegerProperty("L2CacheSpeed"))
        CPU_L3CacheSize$ = Str(CPU\GetIntegerProperty("L3CacheSize"))
        CPU_L3CacheSpeed$ = Str(CPU\GetIntegerProperty("L3CacheSpeed"))
        ;NumberOfCores is less than NumberOfLogicalProcessors = hyperthreading
          If CPU\GetIntegerProperty("NumberOfCores") < CPU\GetIntegerProperty("NumberOfLogicalProcessors")
              CPU_Hyper_Thread$ = "Yes"
            Else
              CPU_Hyper_Thread$ = "No"
          EndIf
        
        IniWrite("C:\systeminfo.txt","CPU_Info", "Number of On Board CPU's", "  " + CPU_Proc_Num$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  System Type", "  " + CPU_System_Type$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Device ID", "  " + CPU_DeviceID$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Number of Cores", "  " + CPU_Num_Core$ + "   Logical Processors   =  " + CPU_Num_Logical$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Manufacturer Info", "  " + CPU_Name$ + "  ( " + CPU_Manufacturer$ + " )")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Family - Model - Stepping", "  " + CPU_Caption$ + "  in the " + CPU_Family$ + " Family")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Version", "  " + CPU_Version$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Socket Type", "  " + CPU_SocketType$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Processor ID", "  " + CPU_ProcessorId$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Data Width", "  " + CPU_DataWidth_Total$ + "  Bit Total (" + CPU_DataWidth_Core$ + "  Bit per core)")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Address Width", "  " + CPU_AddressWidth$ + "  Bit")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Maximum Processor Speed", "  " + CPU_MaxClockSpeed$ + "  MHz")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Curent Processor Speed", "  " + CPU_CurrentClockSpeed$ + "  MHz")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  External Clock Frequency", "  " + CPU_ExtClock$ + "  MHz")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  L2CacheSize", "  " + CPU_L2CacheSize$ + "  Kilobytes" + CPU_L2CacheSize_cpu$) 
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  L2CacheSpeed", "  " + CPU_L2CacheSpeed$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  L3CacheSize", "  " + CPU_L3CacheSize$ + "  Kilobytes")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  L3CacheSpeed", "  " + CPU_L3CacheSpeed$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Is CPU Hyper Threaded", "  " + CPU_Hyper_Thread$)
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  Current CPU Voltage", "  " + CPU_Volts$ + "  volts")
        IniWrite("C:\systeminfo.txt","CPU_Info", "CPU  " + id$ + "  NSM Enabled", "  " + CPU_NetworkServerModeEnabled$)
                
        CPU\Release()
        PROC\Release() 
        CPU = sysCPU\GetNextObject()
        PROC = procCPU\GetNextObject() 
      Wend 
      sysCPU\Release()
      procCPU\Release() 
    EndIf 
    objWMIService\Release()
    Else
      MessageRequester("Error", "CPUInfo")  
  EndIf
  IniWrite("C:\systeminfo.txt","CPU_Info", "=============================NOTES FOR THIS SECTION", "=============================")
  IniWrite("C:\systeminfo.txt","CPU_Info", "Note for L2 Cache Speed", "  " + "For most Intel pocessors L2 Cache Speed runs at core speed and do not provide an L2 Cache Speed value to the operating system.")
  IniWrite("C:\systeminfo.txt","CPU_Info", "============", "End [CPU_Info] ============" + #CRLF$)
EndProcedure

Procedure Proc_Features()

IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "==================================", " [CPU_Processor_Features_Info] ==============================================")

If IsProcessorFeaturePresent_(#PF_FLOATING_POINT_EMULATED) <> 0 
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Floating-point", "  " + "Floating-point operations are emulated")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Floating-point", "  " + "Floating-point operations are not emulated")
EndIf

If IsProcessorFeaturePresent_(#PF_COMPARE_EXCHANGE_DOUBLE) = 1 
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare", "  " + "The atomic compare and exchange operation (cmpxchg) is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare", "  " + "The atomic compare and exchange operation (cmpxchg) is not available.")
EndIf

If IsProcessorFeaturePresent_(#PF_MMX_INSTRUCTIONS_AVAILABLE) = 1 
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "MMX instruction", "  " + "The MMX instruction set is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "MMX instruction", "  " + "The MMX instruction set is not available.")
EndIf

If IsProcessorFeaturePresent_(#PF_XMMI_INSTRUCTIONS_AVAILABLE) = 1 
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "SSE instruction", "  " + "The SSE instruction set is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "SSE instruction", "  " + "The SSE instruction set is not available.")
EndIf

If IsProcessorFeaturePresent_(#PF_3DNOW_INSTRUCTIONS_AVAILABLE) = 1 
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "3D-Now instruction", "  " + "The 3D-Now instruction set is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "3D-Now instruction", "  " + "The 3D-Now instruction set is not available.")
EndIf

If IsProcessorFeaturePresent_(#PF_RDTSC_INSTRUCTION_AVAILABLE) = 1 
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "RDTSC instruction", "  " + "The RDTSC instruction is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "RDTSC instruction", "  " + "The RDTSC instruction is not available.")
EndIf

If IsProcessorFeaturePresent_(#PF_PAE_ENABLED) = 1 
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "PAE-enabled", "  " + "The processor is PAE-enabled.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "PAE-enabled.", "  " + "The processor is not PAE-enabled.")
EndIf

If IsProcessorFeaturePresent_(#PF_XMMI64_INSTRUCTIONS_AVAILABLE) = 1
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "SSE2 instruction", "  " + "The SSE2 instruction set is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "SSE2 instruction", "  " + "The SSE2 instruction set is not available.")
EndIf

If IsProcessorFeaturePresent_(#PF_NX_ENABLED) = 1
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Data execution prevention", "  " + "Data execution prevention is enabled for processor.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Data execution prevention", "  " + "Data execution prevention is not enabled for processor.")
EndIf

If FindString(OS_Caption_Global$, "XP", 1) > 0
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "SSE3 instruction", "  " + "The SSE3 instruction set is not supported on Windows XP.")
EndIf

If (IsProcessorFeaturePresent_(#PF_SSE3_INSTRUCTIONS_AVAILABLE) = 1) And (FindString(OS_Caption_Global$, "Vista", 1) > 0)
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "SSE3 instruction", "  " + "The SSE3 instruction set is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "SSE3 instruction", "  " + "The SSE3 instruction set is not available.")
EndIf

If FindString(OS_Caption_Global$, "XP", 1) > 0
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare and exchange 128-bit operation (cmpxchg16b)", "  " + "The atomic compare and exchange 128-bit operation (cmpxchg16b) is not supported on Windows XP.")
EndIf

If (IsProcessorFeaturePresent_(#PF_COMPARE_EXCHANGE128) = 1) And (FindString(OS_Caption_Global$, "Vista", 1) > 0)
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare and exchange 128-bit operation (cmpxchg16b)", "  " + "The atomic compare and exchange 128-bit operation (cmpxchg16b) is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare and exchange 128-bit operation (cmpxchg16b)", "  " + "The atomic compare and exchange 128-bit operation (cmpxchg16b) is not available.")
EndIf

If FindString(OS_Caption_Global$, "XP", 1) > 0
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare 64 and exchange 128-bit operation (cmp8xchg16)", "  " + "The atomic compare 64 and exchange 128-bit operation (cmp8xchg16) is Not supported on Windows XP.")
EndIf

If (IsProcessorFeaturePresent_(#PF_COMPARE64_EXCHANGE128) = 1) And (FindString(OS_Caption_Global$, "Vista", 1) > 0)
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare 64 and exchange 128-bit operation (cmp8xchg16)", "  " + "The atomic compare 64 and exchange 128-bit operation (cmp8xchg16) is available.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Atomic compare 64 and exchange 128-bit operation (cmp8xchg16)", "  " + "The atomic compare 64 and exchange 128-bit operation (cmp8xchg16) is not available.")
EndIf

If IsProcessorFeaturePresent_(#PF_CHANNELS_ENABLED) = 1
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Processor channels", "  " + "The processor channels are enabled.")
Else
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Processor channels", "  " + "The processor channels are not enabled.")
EndIf
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Note 1", "   " + "This section only contains information for one processor in multi-processor systems.")
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "Note 2", "   " + "Multiple processors in multi-processor systems should all be the same type/model/version and have the same features.")
IniWrite("C:\systeminfo.txt","CPU_Processor_Features_Info", "============", "End [CPU_Processor_Features_Info] ============" + #CRLF$)
EndProcedure
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

This is part 5 to the above, append...

Code: Select all

Procedure CompSystem_Info()

Define.COMateObject objWMIService, CompSysInfo
Define *var.VARIANT, *varCOMSYS.VARIANT
*sa.SafeArray
colCompSysInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colCompSysInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_ComputerSystem')")
  IniWrite("C:\systeminfo.txt","Computer_System_Info", "==================================", " [Computer_System_Info] ==============================================")
  If colCompSysInfo 
    CompSysInfo = colCompSysInfo\GetNextObject() 
    While CompSysInfo
    
      x = x + 1
      id$ = Str(x)
            
      Select CompSysInfo\GetIntegerProperty("AdminPasswordStatus")
        Case 1
          COMSYS_AdminPasswordStatus$ = "Disabled"
        Case 2
          COMSYS_AdminPasswordStatus$ = "Enabled"
        Case 3
          COMSYS_AdminPasswordStatus$ = "Not Implemented"
        Case 4
          COMSYS_AdminPasswordStatus$ = "Unknown"
        Default
          COMSYS_AdminPasswordStatus$ = "Unknown"
      EndSelect
      
      If CompSysInfo\GetIntegerProperty("AutomaticManagedPagefile") = 0
      AutomaticManagedPagefile$ = "False"
      Else
      AutomaticManagedPagefile$ = "True"
      EndIf
      
      If CompSysInfo\GetIntegerProperty("AutomaticResetBootOption") = 0
      COMSYS_AutomaticResetBootOption$ = "False"
      Else
      COMSYS_AutomaticResetBootOption$ = "True"
      EndIf
      
      If CompSysInfo\GetIntegerProperty("AutomaticResetCapability") = 0
      COMSYS_AutomaticResetCapability$ = "False"
      Else
      COMSYS_AutomaticResetCapability$ = "True"
      EndIf
      
      Select CompSysInfo\GetIntegerProperty("BootOptionOnLimit")
        Case 1
          COMSYS_BootOptionOnLimit$ = "Reserved"
        Case 2
          COMSYS_BootOptionOnLimit$ = "Operating System"
        Case 3
          COMSYS_BootOptionOnLimit$ = "System Utilities"
        Case 4
          COMSYS_BootOptionOnLimit$ = "Do Not Reboot"
        Default
          COMSYS_BootOptionOnLimit$ = "Unknown"
      EndSelect
      
      Select CompSysInfo\GetIntegerProperty("BootOptionOnWatchDog")
        Case 1
          COMSYS_BootOptionOnWatchDog$ = "Reserved"
        Case 2
          COMSYS_BootOptionOnWatchDog$ = "Operating System"
        Case 3
          COMSYS_BootOptionOnWatchDog$ = "System Utilities"
        Case 4
          COMSYS_BootOptionOnWatchDog$ = "Do Not Reboot"
        Default
          COMSYS_BootOptionOnWatchDog$ = "Unknown"
      EndSelect
      
      If CompSysInfo\GetIntegerProperty("BootROMSupported") = 0
      COMSYS_BootROMSupported$ = "False"
      Else
      COMSYS_BootROMSupported$ = "True"
      EndIf
      
      COMSYS_BootupState$ = CompSysInfo\GetStringProperty("BootupState")
      
      If CompSysInfo\GetIntegerProperty("DaylightInEffect") = 0
      COMSYS_DaylightInEffect$ = "False"
      Else
      COMSYS_DaylightInEffect$ = "True"
      EndIf
      
      COMSYS_Description$ = CompSysInfo\GetStringProperty("Description")
;       COMSYS_DNSHostName$ = CompSysInfo\GetStringProperty("DNSHostName")
;       COMSYS_Domain$ = CompSysInfo\GetStringProperty("Domain")
      
      Select CompSysInfo\GetIntegerProperty("DomainRole")
        Case 0
          COMSYS_DomainRole$ = "Standalone Workstation"
        Case 1
          COMSYS_DomainRole$ = "Member Workstation"
        Case 2
          COMSYS_DomainRole$ = "Standalone Server"
        Case 3
          COMSYS_DomainRole$ = "Member Server"
        Case 4
          COMSYS_DomainRole$ = "Backup Domain Controller"
        Case 5
          COMSYS_DomainRole$ = "Do Not Reboot"
        Default
          COMSYS_DomainRole$ = "Primary Domain Controller"
      EndSelect
            
      If CompSysInfo\GetIntegerProperty("EnableDaylightSavingsTime") = 0
      COMSYS_EnableDaylightSavingsTime$ = "False"
      ElseIf CompSysInfo\GetIntegerProperty("EnableDaylightSavingsTime") = -1
      COMSYS_EnableDaylightSavingsTime$ = "True"
      Else 
      COMSYS_EnableDaylightSavingsTime$ = "Unknown"
      EndIf
      
      If CompSysInfo\GetIntegerProperty("InfraredSupported") = 0
      COMSYS_InfraredSupported$ = "False"
      Else
      COMSYS_InfraredSupported$ = "True"
      EndIf
      
      If CompSysInfo\GetIntegerProperty("NetworkServerModeEnabled") = 0
      COMSYS_NetworkServerModeEnabled$ = "False"
      Else
      COMSYS_NetworkServerModeEnabled$ = "True"
      EndIf
      
      Select CompSysInfo\GetIntegerProperty("PCSystemType")
        Case 0
          COMSYS_PCSystemType$ = "Unspecified"
        Case 1
          COMSYS_PCSystemType$ = "Desktop"
        Case 2
          COMSYS_PCSystemType$ = "Mobile"
        Case 3
          COMSYS_PCSystemType$ = "Workstation"
        Case 4
          COMSYS_PCSystemType$ = "Enterprise Server"
        Case 5
          COMSYS_PCSystemType$ = "Small Office and Home Office (SOHO) Server"
        Case 6
          COMSYS_PCSystemType$ = "Appliance PC"
        Case 7
          COMSYS_PCSystemType$ = "Performance Server"
        Case 8
          COMSYS_PCSystemType$ = "Maximum"
        Default
          COMSYS_PCSystemType$ = "Unknown or Unspecified"
      EndSelect
      
      Select CompSysInfo\GetIntegerProperty("WakeUpType")
        Case 0
          COMSYS_WakeUpType$ = "Reserved"
        Case 1
          COMSYS_WakeUpType$ = "Other"
        Case 2
          COMSYS_WakeUpType$ = "Unknown"
        Case 3
          COMSYS_WakeUpType$ = "APM Timer"
        Case 4
          COMSYS_WakeUpType$ = "Modem Ring"
        Case 5
          COMSYS_WakeUpType$ = "LAN Remote"
        Case 6
          COMSYS_WakeUpType$ = "Power Switch"
        Case 7
          COMSYS_WakeUpType$ = "PCI PME#"
        Case 8
          COMSYS_WakeUpType$ = "AC Power Restored"
        Default
          COMSYS_WakeUpType$ = "Unknown"
      EndSelect
            
      COMSYS_Status$ = CompSysInfo\GetStringProperty("Status")
      COMSYS_SystemType$ = CompSysInfo\GetStringProperty("SystemType")
      COMSYS_Manufacturer$ = CompSysInfo\GetStringProperty("Manufacturer")
      COMSYS_Model$ = CompSysInfo\GetStringProperty("Model")
              
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Description", "  " + COMSYS_Description$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "System Type", "  " + COMSYS_SystemType$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "PC System Type", "  " + COMSYS_PCSystemType$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Manufacturer", "  " + COMSYS_Manufacturer$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Model", "  " + COMSYS_Model$)
      ;IniWrite("C:\systeminfo.txt","Computer_System_Info", "DNS Host Name", "  " + COMSYS_DNSHostName$)
      ;IniWrite("C:\systeminfo.txt","Computer_System_Info", "Domain", "  " + COMSYS_Domain$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Domain Role", "  " + COMSYS_DomainRole$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Admin Password Status", "  " + COMSYS_AdminPasswordStatus$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Automatic Managed Pagefile", "  " + AutomaticManagedPagefile$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Automatic Reset Boot Option", "  " + COMSYS_AutomaticResetBootOption$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Automatic Reset Capability", "  " + COMSYS_AutomaticResetCapability$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Boot Option On Limit", "  " + COMSYS_BootOptionOnLimit$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Boot Option On WatchDog", "  " + COMSYS_BootOptionOnWatchDog$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Boot ROM Supported", "  " + COMSYS_BootROMSupported$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Bootup State", "  " + COMSYS_BootupState$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Daylight Savings Time in Effect", "  " + COMSYS_DaylightInEffect$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Enable Daylight Savings Time", "  " + COMSYS_EnableDaylightSavingsTime$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Infrared Supported", "  " + COMSYS_InfraredSupported$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Network Server Mode Enabled", "  " + COMSYS_NetworkServerModeEnabled$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Wake Up Type", "  " + COMSYS_WakeUpType$)
      
      *var = CompSysInfo\GetVariantProperty("OEMStringArray")
        If *var\vt <> #VT_NULL
          *sa = *var\parray
          For i = saLBound(*sa) To saUBound(*sa)
            *varCOMSYS = SA_VARIANT(*sa, i)
            If *varCOMSYS\vt <> #VT_BSTR
              VariantChangeType_(*varCOMSYS, *varCOMSYS, 0, #VT_BSTR)
            EndIf
            COMSYS_OEMStringArray$ = PeekS(*varCOMSYS\bstrVal, -1, #PB_Unicode)
            IniWrite("C:\systeminfo.txt","Computer_System_Info", "OEM String" + Str(i+1), "  " + COMSYS_OEMStringArray$)
            VariantClear_(*varCOMSYS)
          Next
          saFreeSafeArray(*sa)
      EndIf
      
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "Status", "  " + COMSYS_Status$)
      IniWrite("C:\systeminfo.txt","Computer_System_Info", "============", "============")
            
      CompSysInfo\Release() 
      CompSysInfo = colCompSysInfo\GetNextObject()
    Wend
    colCompSysInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "COMSYSInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Computer_System_Info", "============", "End [Computer_System_Info] ============" + #CRLF$)
EndProcedure

Procedure.s BIOS_Info() 
  
  Define.COMateObject objWMIService, BIOS
  Define *var.VARIANT, *varBIOS.VARIANT
  *sa.SafeArray
  sysBIOS.COMateEnumObject 
  strComputer.s = "." 
  
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService
    sysBIOS = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_BIOS')")
    IniWrite("C:\systeminfo.txt","BIOS_Info", "==================================", " [BIOS_Info] ==============================================")  
    If sysBIOS
      BIOS = sysBIOS\GetNextObject()
      While BIOS
      
        BIOS_CurrentLanguage$ = BIOS\GetStringProperty("CurrentLanguage")
        BIOS_Description$ = BIOS\GetStringProperty("Description")
        BIOS_Manufacturer$ = BIOS\GetStringProperty("Manufacturer")
        BIOS_SerialNumber$ = BIOS\GetStringProperty("SerialNumber")
        BIOS_SMBIOSBIOSVersion$ = BIOS\GetStringProperty("SMBIOSBIOSVersion")
        BIOS_SMBIOSMajorVersion$ = BIOS\GetStringProperty("SMBIOSMajorVersion")
        BIOS_SMBIOSMinorVersion$ = BIOS\GetStringProperty("SMBIOSMinorVersion")
        BIOS_Version$ = BIOS\GetStringProperty("Version")
        BIOS_IdentificationCode$ = BIOS\GetStringProperty("IdentificationCode")
        BIOS_SoftwareElementID$ = BIOS\GetStringProperty("SoftwareElementID")
        BIOS_Release_Date$ = Dt_Time(BIOS\GetStringProperty("ReleaseDate"), 0)
          If BIOS\GetIntegerProperty("SMBIOSPresent") = 0
              BIOS_SMBIOSPresent$ = "SMBIOS Is Not Present"
            Else
              BIOS_SMBIOSPresent$ = "SMBIOS Is Present   " + "   SMBIOS BIOS Version:  " + BIOS_SMBIOSBIOSVersion$ + "   SMBIOS Major Version:  " + BIOS_SMBIOSMajorVersion$ + "   SMBIOS Minor Version:  " + BIOS_SMBIOSMinorVersion$
          EndIf
        
        IniWrite("C:\systeminfo.txt","BIOS_Info", "BIOS Manufacturer", "   " + BIOS_Manufacturer$)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "BIOS Description", "   " + BIOS_Description$)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "Version", "   " + BIOS_Version$)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "BIOS Version", "   " + BIOS_Version$ + "  " + BIOS_Description$)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "BIOS Serial Number", "   " + BIOS_SerialNumber$)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "BIOS Software Element ID", "   " + BIOS_SoftwareElementID$)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "BIOS Current Language", "   " + BIOS_CurrentLanguage$)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "BIOS Release Date", "   " + BIOS_Release_Date$)
        *var = BIOS\GetVariantProperty("BiosCharacteristics")
        If *var\vt <> #VT_NULL
          *sa = *var\parray
          For i = saLBound(*sa) To saUBound(*sa)
            *varBIOS = SA_VARIANT(*sa, i)
            If *varBIOS\vt <> #VT_BSTR
              VariantChangeType_(*varBIOS, *varBIOS, 0, #VT_BSTR)
            EndIf
              BIOS_BiosCharacteristics_Type$ = PeekS(*varBIOS\bstrVal, -1, #PB_Unicode)
              BIOS_BiosCharacteristics$ = BiosCharacteristics_Info(Val(BIOS_BiosCharacteristics_Type$))
            IniWrite("C:\systeminfo.txt","BIOS_Info", "Bios Characteristics Type #" + "  " + BIOS_BiosCharacteristics_Type$, "  " + BIOS_BiosCharacteristics$)
            VariantClear_(*varBIOS)
          Next
          saFreeSafeArray(*sa)
        EndIf
        VariantClear_(*var) : FreeMemory(*var)
        IniWrite("C:\systeminfo.txt","BIOS_Info", "SMBIOS", "   " + BIOS_SMBIOSPresent$)

        BIOS\Release()
        BIOS = sysBIOS\GetNextObject()
      Wend 
      sysBIOS\Release()
       
    EndIf 
    objWMIService\Release()
    Else
      MessageRequester("Error", "BIOSInfo")  
  EndIf
IniWrite("C:\systeminfo.txt","BIOS_Info", "============", "End [BIOS_Info] ============" + #CRLF$)
EndProcedure

Procedure.s CacheMem_Info() 
  
  Define.COMateObject objWMIService, CacheMem
  sysCacheMem.COMateEnumObject 
  strComputer.s = "." 
  
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService
    sysCacheMem = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_CacheMemory')") 
    IniWrite("C:\systeminfo.txt","Cache_Memory_Info", "==================================", " [Cache_Memory_Info] ==============================================") 
    If sysCacheMem
      CacheMem = sysCacheMem\GetNextObject()
      While CacheMem
      
        CacheMem_DeviceID$ = CacheMem\GetStringProperty("DeviceID")
        CacheMem_Type$ = Cache_Mem_Type(CacheMem\GetIntegerProperty("CacheType"))
        CacheMem_InstalledSize$ = Str(CacheMem\GetIntegerProperty("InstalledSize"))
        CacheMem_MaxCacheSize$ = Str(CacheMem\GetIntegerProperty("MaxCacheSize"))
        CacheMem_Level$ = Cache_Mem_Level(CacheMem\GetIntegerProperty("Level"))
        CacheMem_ReadPolicy$ = Cache_Mem_ReadPolicy(CacheMem\GetIntegerProperty("ReadPolicy"))
        
        IniWrite("C:\systeminfo.txt","Cache_Memory_Info", CacheMem_DeviceID$ + "    Type  ", "   "  + CacheMem_Type$)
        IniWrite("C:\systeminfo.txt","Cache_Memory_Info", CacheMem_DeviceID$ + "    Installed Size  ", "   " + CacheMem_InstalledSize$ + "  (Kilobytes)")
        IniWrite("C:\systeminfo.txt","Cache_Memory_Info", CacheMem_DeviceID$ + "    Max Cache Size  ", "   " + CacheMem_MaxCacheSize$ + "  (Kilobytes)")
        IniWrite("C:\systeminfo.txt","Cache_Memory_Info", CacheMem_DeviceID$ + "    Level  ", "   " + CacheMem_Level$)
        IniWrite("C:\systeminfo.txt","Cache_Memory_Info", CacheMem_DeviceID$ + "    Read Policy  ", "   " + CacheMem_ReadPolicy$)
        IniWrite("C:\systeminfo.txt","Cache_Memory_Info", "============", "============")
                
        CacheMem\Release()
        CacheMem = sysCacheMem\GetNextObject()
      Wend 
      sysCacheMem\Release()
       
    EndIf 
    objWMIService\Release()
    Else
      MessageRequester("Error", "BIOSInfo")  
  EndIf
IniWrite("C:\systeminfo.txt","Cache_Memory_Info", "============", "End [Cache_Memory_Info] ============" + #CRLF$)
EndProcedure

Procedure.s CODEC_Info() 
  
  Define.COMateObject objWMIService, CodecInfo
  sysCodecInfo.COMateEnumObject 
  strComputer.s = "." 
  
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService
    sysCodecInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_CodecFile')")
    IniWrite("C:\systeminfo.txt","CODEC_Info", "==================================", " [CODEC_Info] ==============================================")  
    If sysCodecInfo
      CodecInfo = sysCodecInfo\GetNextObject()
      While CodecInfo
      
        CODEC_Caption$ = CodecInfo\GetStringProperty("Caption")
        CODEC_Name$ = CodecInfo\GetStringProperty("Description")
        CODEC_Group$ = CodecInfo\GetStringProperty("Group")
        CODEC_Description$ = CodecInfo\GetStringProperty("Description")
        CODEC_Version$ = CodecInfo\GetStringProperty("Version")
        
        IniWrite("C:\systeminfo.txt","CODEC_Info", CODEC_Name$, "  ")
        IniWrite("C:\systeminfo.txt","CODEC_Info", CODEC_Name$ + "   " + CODEC_Caption$, "   In Group:  " + CODEC_Group$)
        IniWrite("C:\systeminfo.txt","CODEC_Info", CODEC_Name$ + "   " + CODEC_Description$, "   Version:  " + CODEC_Version$)
        IniWrite("C:\systeminfo.txt","CODEC_Info", "============", "============")

        CodecInfo\Release()
        CodecInfo = sysCodecInfo\GetNextObject()
      Wend 
      sysCodecInfo\Release()
       
    EndIf 
    objWMIService\Release()
    Else
      MessageRequester("Error", "CODECInfo")  
  EndIf
IniWrite("C:\systeminfo.txt","CODEC_Info", "============", "End [CODEC_Info] ============" + #CRLF$)
EndProcedure

Procedure.s MB_Info() 
  
  Define.COMateObject objWMIService, MB
  Define *var.VARIANT, *varMB.VARIANT
  *sa.SafeArray
  sysMB.COMateEnumObject 
  strComputer.s = "." 
  
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService
    sysMB = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_BaseBoard')")
    IniWrite("C:\systeminfo.txt","Mother_Board_Info", "==================================", " [Mother_Board_Info] ==============================================")  
    If sysMB
      MB = sysMB\GetNextObject()
      While MB
        
        MB_Manufacturer$ = MB\GetStringProperty("Manufacturer")
        MB_Model$ = MB\GetStringProperty("Model")
        MB_Product$ = MB\GetStringProperty("Product")
        MB_SerialNumber$ = MB\GetStringProperty("SerialNumber")
        MB_Version$ = MB\GetStringProperty("Version")
        MB_Tag$ = MB\GetStringProperty("Tag")
        MB_PartNumber$ = MB\GetStringProperty("PartNumber")
        
        IniWrite("C:\systeminfo.txt","Mother_Board_Info", "Mother Board:  Manufacturer:  " + MB_Manufacturer$ + "   Product:  " +  MB_Product$ + "   Version:  " + MB_Version$, "  " + "Model Number:  " + MB_Model$)
        IniWrite("C:\systeminfo.txt","Mother_Board_Info", "Mother Board:  Part Number:  " + MB_PartNumber$ + "   Serial Number:  " + MB_SerialNumber$, "  " + "Tag:  " + MB_Tag$)
        
        *var = MB\GetVariantProperty("ConfigOptions")
        If *var\vt <> #VT_NULL
          *sa = *var\parray
          For i = saLBound(*sa) To saUBound(*sa)
            *varMB = SA_VARIANT(*sa, i)
            If *varMB\vt <> #VT_BSTR
              VariantChangeType_(*varMB, *varMB, 0, #VT_BSTR)
            EndIf
            MB_ConfigOptions$ = PeekS(*varMB\bstrVal, -1, #PB_Unicode)
            IniWrite("C:\systeminfo.txt","Mother_Board_Info", "Mother Board:  Config Options:  " + Str( i + 1), "  " + MB_ConfigOptions$)
            VariantClear_(*varMB)
          Next
          saFreeSafeArray(*sa)
        EndIf
        VariantClear_(*var) : FreeMemory(*var)
        
        MB\Release()
        MB = sysMB\GetNextObject()
      Wend 
      sysMB\Release()
       
    EndIf 
    objWMIService\Release()
    Else
      MessageRequester("Error", "MBInfo")  
  EndIf
  IniWrite("C:\systeminfo.txt","Mother_Board_Info", "============", "End [Mother_Board_Info] ============" + #CRLF$) 
EndProcedure

Procedure.s MBD_Device_Info() 
  
  Define.COMateObject objWMIService, MBD
  sysMBD.COMateEnumObject 
  strComputer.s = "." 
  
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService
    sysMBD = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_MotherboardDevice')")
    IniWrite("C:\systeminfo.txt","Mother_Board_Device_Info", "==================================", " [Mother_Board_Device_Info] ==============================================")
    If sysMBD
      MBD = sysMBD\GetNextObject()
      While MBD
        
        x = x + 1
        id$ = Str(x)
        MBD_PNPDeviceID$ = MBD\GetStringProperty("PNPDeviceID")
        MBD_PrimaryBusType$ = MBD\GetStringProperty("PrimaryBusType")
        
        IniWrite("C:\systeminfo.txt","Mother_Board_Device_Info", "Mother Board Device  " + id$ + "   PNP Device ID", "  " + MBD_PNPDeviceID$)
        
        MBD\Release()
        MBD = sysMBD\GetNextObject()
      Wend 
      sysMBD\Release()
       
    EndIf 
    objWMIService\Release()
    Else
      MessageRequester("Error", "MBDInfo")  
  EndIf
  IniWrite("C:\systeminfo.txt","Mother_Board_Device_Info", "============", "End [Mother_Board_Device_Info] ============" + #CRLF$) 
EndProcedure
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

This is part 6 to the above, append

Code: Select all

Procedure BUS_Info()

Define.COMateObject objWMIService, BUSInfo
colBUSInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colBUSInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_Bus')")
  IniWrite("C:\systeminfo.txt","BUS_Info", "==================================", " [BUS_Info] ==============================================")
  If colBUSInfo 
    BUSInfo = colBUSInfo\GetNextObject() 
    While BUSInfo
      
      bus_sys_type.s = Bus_Type_Info(BUSInfo\GetIntegerProperty("BusType"))
      IniWrite("C:\systeminfo.txt","BUS_Info", "BUS Type", "  " + bus_sys_type)

      BUSInfo\Release() 
      BUSInfo = colBUSInfo\GetNextObject()
    Wend
    colBUSInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "BUSInfo")  
EndIf
IniWrite("C:\systeminfo.txt","BUS_Info", "============", "End [BUS_Info] ============" + #CRLF$)
EndProcedure

Procedure Ports_Info()

Define.COMateObject objWMIService, PortInfo
colPortInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colPortInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_PortConnector')")
  IniWrite("C:\systeminfo.txt","Port_Connector_Info", "==================================", " [Port_Connector_Info] ==============================================")
  If colPortInfo 
    PortInfo = colPortInfo\GetNextObject() 
    While PortInfo
      
      Port_Int$ = PortInfo\GetStringProperty("InternalReferenceDesignator")
      Port_Ext$ = PortInfo\GetStringProperty("ExternalReferenceDesignator")
      ports$ = PortInfo\GetStringProperty("Tag")
      pt_type.i = PortInfo\GetIntegerProperty("PortType")
      
      PORT_PortType$ = Type_Port(pt_type) + "   (Internal Reference = " + Port_Int$ + ")   " + "(External Reference = " + Port_Ext$ + ")"
      IniWrite("C:\systeminfo.txt","Port_Connector_Info",ports$, "  " + PORT_PortType$)

      PortInfo\Release() 
      PortInfo = colPortInfo\GetNextObject()
    Wend
    colPortInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "PORTInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Port_Connector_Info", "============", "End [Port_Connector_Info] ============" + #CRLF$)
EndProcedure

Procedure Slot_Info()

Define.COMateObject objWMIService, SlotInfo
colSlotInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colSlotInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_SystemSlot')")
  IniWrite("C:\systeminfo.txt","Slot_Info", "==================================", " [Slot_Info] ==============================================")
  If colSlotInfo 
    SlotInfo = colSlotInfo\GetNextObject() 
    While SlotInfo
      
      Slot_DataWidth$ = Slot_DataWidth_Info(SlotInfo\GetIntegerProperty("MaxDataWidth"))
      If SlotInfo\GetIntegerProperty("Shared") = 0
      Slot_Share$ = "False"
      Else
      Slot_Share$ = "True"
      EndIf
      slots$ = SlotInfo\GetStringProperty("Tag")
                  
      SLOT_Designation$ = SlotInfo\GetStringProperty("SlotDesignation") + "   (Max Data Width =  " + Slot_DataWidth$ + ")" + "   (Shared =  " + Slot_Share$ + ")"
      IniWrite("C:\systeminfo.txt","Slot_Info",slots$ , "  " + SLOT_Designation$)
      
      SlotInfo\Release() 
      SlotInfo = colSlotInfo\GetNextObject()
    Wend
    colSlotInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "SLOTInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Slot_Info", "============", "End [Slot_Info] ============" + #CRLF$)
EndProcedure

Procedure USB_Controller_Info()

Define.COMateObject objWMIService, USBContInfo
Define *var.VARIANT, *varUSBC.VARIANT
*sa.SafeArray
colUSBContInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colUSBContInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_USBController')")
  IniWrite("C:\systeminfo.txt","USB_Controller_Info", "==================================", " [USB_Controller_Info] ==============================================")
  If colUSBContInfo 
    USBContInfo = colUSBContInfo\GetNextObject() 
    While USBContInfo
      
      x = x + 1
      id$ = Str(x)
      USB_Cont_Name$ = USBContInfo\GetStringProperty("Name")
      USB_Cont_Description$ = USBContInfo\GetStringProperty("Description")
      USB_Cont_Status$ = USBContInfo\GetStringProperty("Status")
      USB_Cont_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(USBContInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      
      IniWrite("C:\systeminfo.txt","USB_Controller_Info","USB Controller  " + id$ + "   Description", "   " + USB_Cont_Description$)
      IniWrite("C:\systeminfo.txt","USB_Controller_Info","USB Controller  " + id$ + "   Name", "   " + USB_Cont_Name$)
      IniWrite("C:\systeminfo.txt","USB_Controller_Info","USB Controller  " + id$ + "   Status", "   " + USB_Cont_Status$)
      IniWrite("C:\systeminfo.txt","USB_Controller_Info","USB Controller  " + id$ + "   Error Code Info", "   " + USB_Cont_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","USB_Controller_Info", "============", "============")
      
      USBContInfo\Release() 
      USBContInfo = colUSBContInfo\GetNextObject()
    Wend
    colUSBContInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "USBContInfo")  
EndIf
IniWrite("C:\systeminfo.txt","USB_Controller_Info", "============", "End [USB_Controller_Info] ============" + #CRLF$)
EndProcedure

Procedure NineFour_Info()

Define.COMateObject objWMIService, NineFourInfo
colNineFourInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colNineFourInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_1394Controller')")
  IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info", "==================================", " [1394_Firewire_Controller_Info] ==============================================")
  If colNineFourInfo 
    NineFourInfo = colNineFourInfo\GetNextObject() 
    While NineFourInfo
      
      x = x + 1
      id$ = Str(x)
      NineFour_Description$ = NineFourInfo\GetStringProperty("Description")
      NineFour_Name$ = NineFourInfo\GetStringProperty("Name")
      NineFour_Manufacturer$ = NineFourInfo\GetStringProperty("Manufacturer")
      NineFour_Status$ = NineFourInfo\GetStringProperty("Status")
      NineFour_ConfigManagerErrorCode$ = ConfigManager_ErrorCode(NineFourInfo\GetIntegerProperty("ConfigManagerErrorCode"))
      
      IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","1394 Firewire Controller  " + id$ + "   Description", "   " + NineFour_Description$)
      IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","1394 Firewire Controller  " + id$ + "   Name", "   " + NineFour_Name$)
      IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","1394 Firewire Controller  " + id$ + "   Manufacturer", "   " + NineFour_Manufacturer$)
      IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","1394 Firewire Controller  " + id$ + "   Status", "   " + NineFour_Status$)
      IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","1394 Firewire Controller  " + id$ + "   Error Code Info", "   " + NineFour_ConfigManagerErrorCode$)
      IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info", "============", "============")
      
      NineFourInfo\Release() 
      NineFourInfo = colNineFourInfo\GetNextObject()
    Wend
    colNineFourInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "1394Info")  
EndIf
IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","Note 1 for 1394_Controller_Info", "If you have a 1394 FireWire controller on the motherboard and no device information shows in this section make sure its turned on in BIOS")
IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","Note 2 for 1394_Controller_Info", "If you have a 1394 FireWire controller Plug In card and no device information shows in this section don't be alarmed, some don't, but make sure its working.")
IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","Note 3 for 1394_Controller_Info", "If no device information shows in this section, you may not actually have a 1394 FireWire controller or the controller is disabled in BIOS or the Operating system or not installed correctly.")
IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info","Note 4 for 1394_Controller_Info", "If you have a 1394 FireWire controller and no device information shows in this section your controller may be disabled for some reason, check device manager.")
IniWrite("C:\systeminfo.txt","1394_Firewire_Controller_Info", "============", "End [1394_Controller_Info] ============" + #CRLF$)
EndProcedure

Procedure PnPEntity_Info()

Define.COMateObject objWMIService, PnPInfo
colPnPInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colPnPInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_PnPEntity')")
  IniWrite("C:\systeminfo.txt","PnP_Info", "==================================", " [PnP_Info] ==============================================")
  If colPnPInfo 
    PnPInfo = colPnPInfo\GetNextObject() 
    While PnPInfo
      
      PnP_Caption$ = PnPInfo\GetStringProperty("Caption")
      PnP_Name$ = PnPInfo\GetStringProperty("Name")
      PnP_Manufacturer$ = PnPInfo\GetStringProperty("Manufacturer")
      PnP_Status$ = PnPInfo\GetStringProperty("Status")
      PnP_Service$ = PnPInfo\GetStringProperty("Service")
            
      IniWrite("C:\systeminfo.txt","PnP_Info","Device:  " + PnP_Caption$ + "   Name", "  " + PnP_Name$ + "   Status:  " + PnP_Status$)
      IniWrite("C:\systeminfo.txt","PnP_Info","Device:  " + PnP_Caption$ + "   Manufacturer", "  " + PnP_Manufacturer$)
      IniWrite("C:\systeminfo.txt","PnP_Info","Device:  " + PnP_Caption$ + "   Service that supports this device", "  " + PnP_Service$)
      IniWrite("C:\systeminfo.txt","PnP_Info", "============", "============")
              
      PnPInfo\Release() 
      PnPInfo = colPnPInfo\GetNextObject()
    Wend
    colPnPInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "PnPInfo")  
EndIf
IniWrite("C:\systeminfo.txt","PnP_Info", "=============================NOTES FOR THIS SECTION", "=============================")
note_info1$ = "A status of degraded in this section does not necessarily mean there is a problem. It could be a real mode or safe mode driver, or something not being used at the time such as IPv6 or a non-plug 'n play driver or an item is turned off."
IniWrite("C:\systeminfo.txt","PnP_Info", "PnP Info Note 1", note_info1$)
IniWrite("C:\systeminfo.txt","PnP_Info", "PnP Info Note 2", "Plug and Play entities shown are entries in the Device Manager located in Control Panel")
IniWrite("C:\systeminfo.txt","PnP_Info", "============", "End [PnP_Info] ============" + #CRLF$)
EndProcedure
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

This is part 7 to the above, append

Code: Select all

Procedure PnPSignedDriver_Info()

Define.COMateObject objWMIService, PnPSignInfo
colPnPSignInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colPnPSignInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_PnPSignedDriver')")
  IniWrite("C:\systeminfo.txt","PnP_Signed_Driver_Info", "==================================", " [PnP_Signed_Driver_Info] ==============================================")
  If colPnPSignInfo 
    PnPSignInfo = colPnPSignInfo\GetNextObject() 
    While PnPSignInfo
      
      PnPSign_DeviceName$ = PnPSignInfo\GetStringProperty("DeviceName")
      PnPSign_InfName$ = PnPSignInfo\GetStringProperty("InfName")
      PnPSign_Manufacturer$ = PnPSignInfo\GetStringProperty("Manufacturer")
      If PnPSignInfo\GetIntegerProperty("IsSigned") = 0
      PnP_Driver_IsSigned$ = "Driver is not signed"
      Else
      PnP_Driver_IsSigned$ = "Driver is signed"
      EndIf
       
      IniWrite("C:\systeminfo.txt","PnP_Signed_Driver_Info","Device Name:  " + PnPSign_DeviceName$ + "   Manufacturer:  " + PnPSign_Manufacturer$ + "   " + PnP_Driver_IsSigned$, "  " + "INF File Name:  " + PnPSign_InfName$)
                  
      PnPSignInfo\Release() 
      PnPSignInfo = colPnPSignInfo\GetNextObject()
    Wend
    colPnPSignInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "PnPSignInfo")  
EndIf
IniWrite("C:\systeminfo.txt","PnP_Signed_Driver_Info", "============", "End [PnP_Signed_Driver_Info] ============" + #CRLF$)
EndProcedure

Procedure Services_Info()

Define.COMateObject objWMIService, ServInfo
colServInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colServInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_Service')")
  IniWrite("C:\systeminfo.txt","Services_Info", "==================================", " [Services_Info] ==============================================")
  If colServInfo 
    ServInfo = colServInfo\GetNextObject() 
    While ServInfo
      
      Serv_DisplayName$ = ServInfo\GetStringProperty("DisplayName")
      Serv_ServiceType$ = ServInfo\GetStringProperty("ServiceType")
      Serv_PathName$ = ServInfo\GetStringProperty("PathName")
      Serv_StartMode$ = ServInfo\GetStringProperty("StartMode")
      Serv_ProcessId$ = Str(ServInfo\GetIntegerProperty("ProcessId"))
      If ServInfo\GetIntegerProperty("Started") = 0
      Service_been_started$ = "Service has not been started."
      Else
      Service_been_started$ = "Service has been started."
      EndIf
      
      IniWrite("C:\systeminfo.txt","Services_Info","Service Name:  " + Serv_DisplayName$ + "   Service Type", "  " + Serv_ServiceType$ + "   Path:  " + Serv_PathName$)
      IniWrite("C:\systeminfo.txt","Services_Info","Service Name:  " + Serv_DisplayName$ + "   Start Mode/Status", "  " + Serv_StartMode$ + " / " + Service_been_started$)
      IniWrite("C:\systeminfo.txt","Services_Info","Service Name:  " + Serv_DisplayName$ + "   Process Id", "  " + Serv_ProcessId$)
      IniWrite("C:\systeminfo.txt","Services_Info", "============", "============")

      ServInfo\Release() 
      ServInfo = colServInfo\GetNextObject()
    Wend
    colServInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "ServInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Services_Info", "============", "End [Services_Info] ============" + #CRLF$)
EndProcedure

Procedure ServicesLoadOrder_Info()

Define.COMateObject objWMIService, LoadOrderInfo
colLoadOrderInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colLoadOrderInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_LoadOrderGroup')")
  IniWrite("C:\systeminfo.txt","System_Services_Load_Order_Info", "==================================", " [System_Services_Load_Order_Info] ==============================================")
  If colLoadOrderInfo 
    LoadOrderInfo = colLoadOrderInfo\GetNextObject() 
    While LoadOrderInfo
      
      LO_Name$ = LoadOrderInfo\GetStringProperty("Name")
      LO_GroupOrder$ = LoadOrderInfo\GetStringProperty("GroupOrder")
      If LoadOrderInfo\GetIntegerProperty("DriverEnabled") = 0
      LO_DriverEnabled$ = "Load order group does not include drivers with system service load."
      Else
      LO_DriverEnabled$ = "Load order group does include drivers with system service load."
      EndIf
      
      IniWrite("C:\systeminfo.txt","System_Services_Load_Order_Info", "Name:  " + LO_Name$ , "   Group Order:" + "   " + LO_GroupOrder$)
      IniWrite("C:\systeminfo.txt","System_Services_Load_Order_Info", "Name:  " + LO_Name$ + "   System Service Driver Enabled" , "   " + LO_DriverEnabled$)
      IniWrite("C:\systeminfo.txt","System_Services_Load_Order_Info", "============", "============")
                
      LoadOrderInfo\Release() 
      LoadOrderInfo = colLoadOrderInfo\GetNextObject()
    Wend
    colLoadOrderInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "LoadOrderInfo")  
EndIf
IniWrite("C:\systeminfo.txt","System_Services_Load_Order_Info", "============", "End [System_Services_Load_Order_Info] ============" + #CRLF$)
EndProcedure

Procedure IRQ_Resources_Info()

Define.COMateObject objWMIService, IRQInfo
colIRQInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colIRQInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_IRQResource')")
  IniWrite("C:\systeminfo.txt","IRQ_Resources_Info", "==================================", " [IRQ_Resources_Info] ==============================================")
  If colIRQInfo 
    IRQInfo = colIRQInfo\GetNextObject() 
    While IRQInfo
    
      IRQ_Description$ = IRQInfo\GetStringProperty("Description")
      If IRQInfo\GetIntegerProperty("Shareable") = 0
      IRQ_Shareable$ = "False"
      Else
      IRQ_Shareable$ = "True"
      EndIf
      If IRQInfo\GetIntegerProperty("Hardware") = 0
      IRQ_Hardware$ = "False"
      Else
      IRQ_Hardware$ = "True"
      EndIf
      
      IniWrite("C:\systeminfo.txt","IRQ_Resources_Info", IRQ_Description$ + "   Sharable", "   " + IRQ_Shareable$)
      IniWrite("C:\systeminfo.txt","IRQ_Resources_Info", IRQ_Description$ + "   Hardware", "   " + IRQ_Hardware$)
      IniWrite("C:\systeminfo.txt","IRQ_Resources_Info", "============", "============")
      
      IRQInfo\Release() 
      IRQInfo = colIRQInfo\GetNextObject()
    Wend
    colIRQInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "IRQInfo")  
EndIf
IniWrite("C:\systeminfo.txt","IRQ_Resources_Info", "============", "End [IRQ_Resources_Info] ============" + #CRLF$)
EndProcedure

Procedure Get_Printers() 
  Protected objWMIService.COMateObject, printer.COMateObject 
  Protected colPrinter.COMateEnumObject 
  strComputer.s = "." 
   
   objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
   If objWMIService 
      colPrinter = objWMIService\CreateEnumeration("ExecQuery('Select * FROM Win32_Printer')")
      IniWrite("C:\systeminfo.txt","Printer_Info", "==================================", " [Printer_Info] ==============================================") 
      If colPrinter 
         printer = colPrinter\GetNextObject() 
         While printer
         
            Prn_Dft.i = printer\GetIntegerProperty("Default")
              If Prn_Dft = -1
                  Prnt_Deflt$ = "This printer is set as the default printer."
                Else
                  Prnt_Deflt$ = ""
              EndIf
              Prn_Network.i = printer\GetIntegerProperty("Network")
              If Prn_Network = -1
                  Prnt_Net$ = "True"
                Else
                  Prnt_Net$ = "False"
              EndIf
            Prn_stat.i = printer\GetIntegerProperty("PrinterStatus")
            Printer_Status$ = Prnt_Status(Prn_stat)
            Port_Name$ = printer\GetStringProperty("PortName")
            Prn_Name$ = printer\GetStringProperty("Name")
            PRNT_Deflt_Port$ = "On Port =  " + Port_Name$ + "     " + Prnt_Deflt$ + "    Network Printer = " + Prnt_Net$ + "   Printer Status = " + Printer_Status$
            
            IniWrite("C:\systeminfo.txt","Printer_Info",Prn_Name$ , "  " + PRNT_Deflt_Port$)
            
            printer\Release() 
            printer = colPrinter\GetNextObject() 
         Wend 
         colPrinter\Release() 
      EndIf 
      objWMIService\Release()
      Else
      MessageRequester("Error", "PrnInfo") 
   EndIf
   IniWrite("C:\systeminfo.txt","Printer_Info", "============", "End [Printer_Info] ============" + #CRLF$) 
EndProcedure

Procedure Proces_Now()

Define.COMateObject objWMIService, objProcess
colProcessList.COMateEnumObject
strComputer.s = "."

objWMIService = COMate_GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + strComputer + "\root\cimv2")
If objWMIService
  colProcessList = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_Process')")
  IniWrite("C:\systeminfo.txt","Current_Running_Processes_Basic_Info", "==================================", " [Current_Running_Processes_Basic_Info] ==============================================")
  If colProcessList
    objProcess = colProcessList\GetNextObject()
    While objProcess
    
    Process_name$ = objProcess\GetStringProperty("Name")
    Process_Id$ = Str(objProcess\GetIntegerProperty("ProcessId"))
    Process_handle$ = Str(objProcess\GetIntegerProperty("Handle"))
    Executable_Path$ = objProcess\GetStringProperty("ExecutablePath")
    Process_Tag$ = "Process Name : " +Process_name$ + "     Handle/PID : " + Process_handle$ + " / " + Process_Id$ 
    
    IniWrite("C:\systeminfo.txt","Current_Running_Processes_Basic_Info",Process_Tag$ , "   " + "Executable Path:  " + Executable_Path$)
    IniWrite("C:\systeminfo.txt","Current_Running_Processes_Basic_Info", "============", "============")

      objProcess\Release()
      objProcess = colProcessList\GetNextObject()
    Wend
    colProcessList\Release()
  EndIf
  objWMIService\Release()
Else
  MessageRequester("Error", "ProcInfo")
EndIf
IniWrite("C:\systeminfo.txt","Current_Running_Processes_Basic_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","Current_Running_Processes_Basic_Info", "Note 1:  " ,"This section IS NOT intended to be used as an anti-virus/anti-trojan/anti-malware/anti-hijacking detection, prevention, or eradication tool or method.")
IniWrite("C:\systeminfo.txt","Current_Running_Processes_Basic_Info", "Note 2:  " ,"Only use qualified, updated, and current, anti-virus/anti-trojan/anti-malware/anti-hijacking detection, prevention, and eradication measures.")
IniWrite("C:\systeminfo.txt","Current_Running_Processes_Basic_Info", "============", "End [Current_Running_Processes_Basic_Info] ============" + #CRLF$)
EndProcedure

Procedure.s OS_Version()

Define.COMateObject objWMIService, Version
colOS.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colOS = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_OperatingSystem')")
  IniWrite("C:\systeminfo.txt","Operating_System_Info", "==================================", " [Operating_System_Info] ==============================================")
  If colOS 
    Version = colOS\GetNextObject() 
    While Version
      
      OS_Build$ = Version\GetStringProperty("BuildNumber")
      OS_BuildType$ = Version\GetStringProperty("BuildType")
      OS_SP_MajorVersion_Global$ = Str(Version\GetIntegerProperty("ServicePackMajorVersion"))
      OS_SP_MinorVersion$ = Str(Version\GetIntegerProperty("ServicePackMinorVersion"))
      OS_CSD_Version$ = Version\GetStringProperty("CSDVersion")
      OS_BootDevice$ = Version\GetStringProperty("BootDevice")
      ; **********time UTC in hours************
      time_z.l = Val(Mid(Version\GetStringProperty("CurrentTimeZone"), 2))
      
        If Left(Version\GetStringProperty("CurrentTimeZone"), 1) = "-"
          OS_CurrentTimeZone$ = "- " + Str(time_z / 60) + " Hrs"
        EndIf
  
        If Left(Version\GetStringProperty("CurrentTimeZone"), 1) = "+"
          OS_CurrentTimeZone$ = "+ " + Str(time_z / 60) + " Hrs"
        EndIf
      ;****************************************
      OS_EncryptionLevel$ = Str(Version\GetIntegerProperty("EncryptionLevel"))
      OS_InstallDate$ = Dt_Time(Version\GetStringProperty("InstallDate"), 0)
      OS_LocalDateTime$ = Dt_Time(Version\GetStringProperty("LocalDateTime"), 1)
      File_Gen_date_time$ = Dt_Time(Version\GetStringProperty("LocalDateTime"), 0)
      OS_Language$ = OS_Languages(Version\GetIntegerProperty("OSLanguage"))
      OS_SerialNumber$ = Version\GetStringProperty("SerialNumber")
      OS_SystemDevice$ = Version\GetStringProperty("SystemDevice")
      OS_SystemDrive$ = Version\GetStringProperty("SystemDrive")
      OS_WindowsDirectory$ = Version\GetStringProperty("WindowsDirectory")
      OS_SystemDirectory$ = Version\GetStringProperty("SystemDirectory")
      OS_Version$ = Version\GetStringProperty("Version")
      OS_Caption_Global$ = Version\GetStringProperty("Caption")
      OS_CodeSet$ = Version\GetStringProperty("CodeSet")
      OS_CountryCode$ = Version\GetStringProperty("CountryCode")
      Ox_Debug.i = Version\GetIntegerProperty("Debug")
        If Ox_Debug = #True 
            OS_Debug$ = "Checked Build"
          Else
            OS_Debug$ = "Not Checked Build"
        EndIf
        If Left(OS_Version$,1) = "6"
          OS_VersionName$ = OS_SKU(Version\GetIntegerProperty("OperatingSystemSKU"))
        EndIf
      
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Version", "  " + OS_Caption_Global$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS SKU", "  " + OS_VersionName$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Build", "  " + OS_Build$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Build Type", "  " + OS_BuildType$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Debug", "  " + OS_Debug$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Service Pack Major Version", "  " + OS_SP_MajorVersion_Global$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Service Pack Minor Version", "  " + OS_SP_MinorVersion$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Service Pack Version", "  " + OS_CSD_Version$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Install Date", "  " + OS_InstallDate$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS UTC Offset from Local Time", "  " + OS_CurrentTimeZone$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Local Date and Time", "  " + OS_LocalDateTime$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS System Device", "  " + OS_SystemDevice$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Boot Device", "  " + OS_BootDevice$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS System Drive", "  " + OS_SystemDrive$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Windows Directory", "  " + OS_WindowsDirectory$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS System Directory", "  " + OS_SystemDirectory$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Language", "  " + OS_Language$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Country Code", "  " + OS_CountryCode$)
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Code Set", "  " + OS_CodeSet$)
      
        If (CPU_AddressWidth_Global$ = "32") And (FindString(OS_Caption_Global$, "XP", 1) > 0) And (OS_SP_MajorVersion_Global$ => "3")
          IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS DEP Policy", "  " + GetDEP())
        EndIf
        If (CPU_AddressWidth_Global$ = "32") And (FindString(OS_Caption_Global$, "Vista", 1) > 0) And (OS_SP_MajorVersion_Global$ => "1")
          IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS DEP Policy", "  " + GetDEP())
        EndIf
      
      IniWrite("C:\systeminfo.txt","Operating_System_Info", "OS Encryption Level", "  " + OS_EncryptionLevel$)

      Version\Release() 
      Version = colOS\GetNextObject()
    Wend
    colOS\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "OSInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Operating_System_Info", "============", "End [Operating_System_Info] ============" + #CRLF$)
EndProcedure
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

This is part 8 to the above, append

Code: Select all

Procedure.s DX_Version()
;http://msdn.microsoft.com/en-us/library/bb219716(VS.85).aspx
;DirectX 9c and DirectX 10 0x00000388 4.09.00.0904. This is the SP2 release for downlevel platforms.
IniWrite("C:\systeminfo.txt","Direct_X_Info", "==================================", " [Direct_X_Info] ==============================================")
reg_path$ = "HKEY_LOCAL_MACHINE\Software\Microsoft\DirectX"
SZ_Value$ = "Version"
dx_version$ = RegGetValue(reg_path$,SZ_Value$,".")

Select dx_version$
    Case "4.02.0095"
        Version_DX$ = "1.0"
    Case "4.03.00.1096"
        Version_DX$ = "2.0"
    Case "4.04.0068"
        Version_DX$ = "3.0"
    Case "4.04.0069"
        Version_DX$ = "3.0"
    Case "4.05.00.0155"
        Version_DX$ = "5.0"
    Case "4.05.01.1721"
        Version_DX$ = "5.0"
    Case "4.05.01.1998"
        Version_DX$ = "5.0"
    Case "4.06.02.0436"
        Version_DX$ = "6.0"
    Case "4.07.00.0700"
        Version_DX$ = "7.0"
    Case "4.07.00.0716"
        Version_DX$ = "7.0a"
    Case "4.08.00.0400"
        Version_DX$ = "8.0"
    Case "4.08.01.0881"
        Version_DX$ = "8.1"
    Case "4.08.01.0810"
        Version_DX$ = "8.1 (Default Windows XP version. Recommend you install SP2 and latest DirectX release version.)"
    Case "4.09.0000.0900"
        Version_DX$ = "9.0"
    Case "4.09.00.0900"
        Version_DX$ = "9.0"
    Case "4.09.0000.0901"
        Version_DX$ = "9.0a"
    Case "4.09.00.0901"
        Version_DX$ = "9.0a"
    Case "4.09.0000.0902"
        Version_DX$ = "9.0b"
    Case "4.09.0000.0902"
        Version_DX$ = "9.0b"
    Case "4.09.00.0903"
        Version_DX$ = "9.0c (Incremental update: includes updates for DirectX 9b and Windows XP SP2. Default for SP2.)"
    Case "4.09.00.0904"
        Version_DX$ = "9.0c for WindowsXP SP2 (downlevel platform)"
    Case "4.09.0000.0904"
        Version_DX$ = "9.0c WindowsXP (Release Candidate Build (RC0)) - Recommend you install latest release version."
    Case "6.00.6000.16386"
        Version_DX$ = "10 (Windows Vista)"
    Case "6.00.6001.18000"
        Version_DX$ = "10 (Windows Vista or Windows Server 2008)" ; Windows Server 2008 or Vista
EndSelect

;dx 10 file versions for vista
d3d10_ver$ = GetFileVersion("C:\Windows\System32\d3d10.dll", #GFVI_ProductVersion, #False) ; 6.0.6001.18000 (longhorn_rtm.080118-1840)
d3d10core_ver$ = GetFileVersion("C:\Windows\System32\d3d10core.dll", #GFVI_ProductVersion, #False) ; 6.0.6001.18000 (longhorn_rtm.080118-1840)
d3d10_1_ver$ = GetFileVersion("C:\Windows\System32\d3d10_1.dll", #GFVI_ProductVersion, #False) ; 6.0.6001.18000 (longhorn_rtm.080118-1840)
d3d10_1core_ver$ = GetFileVersion("C:\Windows\System32\d3d10_1core.dll", #GFVI_ProductVersion, #False) ; 6.0.6001.18000 (longhorn_rtm.080118-1840)
ddraw_ver$ = GetFileVersion("C:\Windows\System32\ddraw.dll", #GFVI_ProductVersion, #False) ; 6.00.6000.16386
ddrawex_ver$ = GetFileVersion("C:\Windows\System32\ddrawex.dll", #GFVI_ProductVersion, #False) ; 6.00.6000.16386
d3dx10_ver$ = GetFileVersion("C:\Windows\System32\d3dx10.dll", #GFVI_ProductVersion, #False) ; 9.16.843.0000
d3dx10_33_ver$ = GetFileVersion("C:\Windows\System32\d3dx10_33.dll", #GFVI_FileVersion, #False) ; 9.18.904.0021
d3dx10_34_ver$ = GetFileVersion("C:\Windows\System32\d3dx10_34.dll", #GFVI_FileVersion, #False) ; 9.19.949.0046
d3dx10_35_ver$ = GetFileVersion("C:\Windows\System32\d3dx10_35.dll", #GFVI_FileVersion, #False) ; 9.19.949.1104
d3dx10_36_ver$ = GetFileVersion("C:\Windows\System32\d3dx10_36.dll", #GFVI_FileVersion, #False) ; 9.19.949.2009
  If (FindString(OS_Caption_Global$, "Vista", 1) > 0) And (dx_version$ = "4.09.00.0904") And (d3d10core_ver$ = "6.0.6001.18000") And (d3d10_ver$ = "6.0.6001.18000") And (ddraw_ver$ = "6.0.6000.16386") And (ddrawex_ver$ = "6.0.6000.16386")
      Version_DX$ = "10 for Windows Vista with Service Pack 1"
    Else
      Version_DX$ = Version_DX$
  EndIf

IniWrite("C:\systeminfo.txt","Direct_X_Info", "DirectX Version", "   " + Version_DX$)

If (FindString(Version_DX$, "10", 1) > 0) And (FindString(OS_Caption_Global$, "Vista", 1) > 0)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " ddraw.dll" , "   " + ddraw_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " ddrawex.dll" , "   " + ddrawex_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3d10.dll" , "   " + d3d10_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3d10core.dll" , "   " + d3d10core_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3d10_1.dll" , "   " + d3d10_1_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3d10_1core.dll" , "   " + d3d10_1core_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3dx10.dll" , "   " + d3dx10_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3dx10_33.dll version" , "   " + d3dx10_33_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3dx10_34.dll version" , "   " + d3dx10_34_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3dx10_35.dll version" , "   " + d3dx10_35_ver$)
IniWrite("C:\systeminfo.txt","Direct_X_Info", "Windows Vista Direct X file  " + " d3dx10_36.dll version" , "   " + d3dx10_36_ver$)
EndIf
IniWrite("C:\systeminfo.txt","Direct_X_Info", "============", "End [Direct_X_Info] ============" + #CRLF$)
EndProcedure

Procedure.s Adapter_Type_Interface(Adapt_Index.l)

Define.COMateObject objWMIService, Adapter
colAdapters.COMateEnumObject
strComputer.s = "." 
Net_I_Index$ = Str(Adapt_Index)

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colAdapters = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_NetworkAdapter Where Index= $0027" + Net_I_Index$ +"$0027')") ; winXP and Win Vista
  If colAdapters 
    Adapter= colAdapters\GetNextObject() 
    While Adapter
      
      Adapter_GUID_Name_Global$ = Adapter\GetStringProperty("GUID")
      Net_ConnectionID_Global$ = Adapter\GetStringProperty("NetConnectionID")
      Adapter_Manuf_Global$ = Adapter\GetStringProperty("Manufacturer")
      Select Adapter\GetIntegerProperty("AdapterTypeID")
        Case 0
          Adapter_Type$ = "Ethernet 802.3"
        Case 1 
          Adapter_Type$ = "Token Ring 802.5"
        Case 2 
          Adapter_Type$ = "FDDI"
        Case 3
          Adapter_Type$ = "WAN"
        Case 4 
          Adapter_Type$ = "LocalTalk"
        Case 5 
          Adapter_Type$ = "Ethernet DIX header format"
        Case 6
          Adapter_Type$ = "ARCNET"
        Case 7 
          Adapter_Type$ = "ARCNET (878.2)"
        Case 8 
          Adapter_Type$ = "ATM"
        Case 9
          Adapter_Type$ = "Wireless"
        Case 10 
          Adapter_Type$ = "Infrared Wireless"
        Case 11
          Adapter_Type$ = "Bpc"
        Case 12
          Adapter_Type$ = "CoWan"
        Case 13
          Adapter_Type$ = "1394"
        Default
          Adapter_Type$ = "Unknown"
      EndSelect
      Net_Con_Stat_Global$ = Net_Connection_Status(Adapter\GetIntegerProperty("NetConnectionStatus"))
      Adapter_ConfigManagerErrorCode_Global$ = ConfigManager_ErrorCode(Adapter\GetIntegerProperty("ConfigManagerErrorCode"))
      
      Adapter\Release() 
      Adapter = colAdapters\GetNextObject()
    Wend
    colAdapters\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "AdaptType")  
EndIf
ProcedureReturn Adapter_Type$
EndProcedure

Procedure.s OtherNetAdapt_Info() 

Define.COMateObject objWMIService, Adapter
colAdapters.COMateEnumObject
strComputer.s = "." 

  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService 
    colAdapters = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_NetworkAdapterConfiguration')")
    IniWrite("C:\systeminfo.txt","All_Network_Adapters_Installed_Info", "==================================", " [All_Network_Adapters_Installed_Info] ==============================================")
    If colAdapters 
      Adapter= colAdapters\GetNextObject() 
      While Adapter
        
          x = x + 1
          id$ = Str(x)
          Description_Other$ = Adapter\GetStringProperty("Description")
          
          IniWrite("C:\systeminfo.txt","All_Network_Adapters_Installed_Info", "Net Adapter  " + id$, "  " + Description_Other$)
        
        Adapter\Release() 
        Adapter = colAdapters\GetNextObject()
      Wend
      colAdapters\Release() 
    EndIf
    objWMIService\Release()
    Else
      MessageRequester("Error", "AdaptInfo")
  EndIf
  IniWrite("C:\systeminfo.txt","All_Network_Adapters_Installed_Info", "============", "End [All_Network_Adapters_Installed_Info] ============" + #CRLF$)
EndProcedure
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

This is part 9 to the above, append

Code: Select all

Procedure.s Adapter_Info() 

Define.COMateObject objWMIService, Adapter
colAdapters.COMateEnumObject
strComputer.s = "." 

  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
  If objWMIService 
    colAdapters = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE')")
    IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "==================================", " [In_Use_Network_Info] ==============================================")
    If colAdapters 
      Adapter= colAdapters\GetNextObject() 
      While Adapter
          
          Description$ = Adapter\GetStringProperty("Description")
          Index.i = Adapter\GetIntegerProperty("InterfaceIndex")
          Device_Index.i = Adapter\GetIntegerProperty("Index")
          DhcpServer$ = Adapter\GetStringProperty("DHCPServer")
          DNS_Domain_Name$ = Adapter\GetStringProperty("DNSDomain")
          DNS_Host_Name$ = Adapter\GetStringProperty("DNSHostName")
          LeaseObt$ = Dt_Time(Adapter\GetStringProperty("DHCPLeaseObtained"), 0)
          LeaseExp$ = Dt_Time(Adapter\GetStringProperty("DHCPLeaseExpires"), 0)
          TcpipNetbios_Options.i = Adapter\GetIntegerProperty("TcpipNetbiosOptions")
          If TcpipNetbios_Options = 0
            NetbiosOpt$ = "Netbios Enabled via Dhcp"
          EndIf
          If TcpipNetbios_Options = 1
            NetbiosOpt$ = "Netbios Enabled"
          EndIf
          If TcpipNetbios_Options = 2
            NetbiosOpt$ = "Netbios Disabled"
          EndIf
          If Adapter\GetIntegerProperty("DNSEnabledForWINSResolution") = -1
              HaveWins$ = "True"
            Else
              HaveWins$ = "False"
          EndIf
          If Adapter\GetIntegerProperty("IPFilterSecurityEnabled") = -1
              IP_Filter_Security$ = "True"
            Else
              IP_Filter_Security$ = "False"
          EndIf
          If Adapter\GetIntegerProperty("DHCPEnabled") = -1
              DHCP_Static$ = "IP is DHCP"
            Else
              DHCP_Static$ = "IP is Static"
          EndIf
          If Adapter\GetIntegerProperty("FullDNSRegistrationEnabled") = -1
              FullDNS_Reg$ = "True"
            Else
              FullDNS_Reg$ = "False"
          EndIf
          If Adapter\GetIntegerProperty("IPEnabled") = -1
              IP_Enabled$ = "True"
            Else
              IP_Enabled$ = "False"
          EndIf
          Adapter_Type$ = Adapter_Type_Interface(Device_Index)
          
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Current in use Adapter", Description$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Adapter Manufacturer", Adapter_Manuf_Global$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Type", "  " + Adapter_Type$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "GUID Name", "  " + Adapter_GUID_Name_Global$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Connection ID", "  " + Net_ConnectionID_Global$ + "  (as it appears in Control Panel > Network Connections)")
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Adapter Route Table Index", "  " + Str(Index))
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Adapter System Index (LUID)", "  " + Str(Device_Index))
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "TCP/IP Enabled on Adapter", "  " + IP_Enabled$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "IP Filter Security Enabled", "  " + IP_Filter_Security$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "DHCP or Static", "  " + DHCP_Static$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "WINS Enabled", "  " + HaveWins$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Netbios Options", "  " + NetbiosOpt$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Lease Obtained", "  " + LeaseObt$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Lease Expires", "  " + LeaseExp$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Net Connection Status", "  " + Net_Con_Stat_Global$)
          IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "Error Code Info", "  " + Adapter_ConfigManagerErrorCode_Global$) 
        
        Adapter\Release() 
        Adapter = colAdapters\GetNextObject()
      Wend
      colAdapters\Release() 
    EndIf
    objWMIService\Release()
    Else
      MessageRequester("Error", "AdaptInfo")
  EndIf
  IniWrite("C:\systeminfo.txt","In_Use_Network_Info", "============", "End [In_Use_Network_Info] ============" + #CRLF$)
EndProcedure

Procedure SystemEnclosure_Info()

Define.COMateObject objWMIService, SEInfo
Define *var.VARIANT, *varSE.VARIANT
*sa.SafeArray
colSEInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colSEInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_SystemEnclosure')")
  IniWrite("C:\systeminfo.txt","System_Enclosure_Info", "==================================", " [System_Enclosure_Info] ==============================================")
  If colSEInfo 
    SEInfo = colSEInfo\GetNextObject() 
    While SEInfo
      
      *var = SEInfo\GetVariantProperty("ChassisTypes")
        If *var\vt <> #VT_NULL
          *sa = *var\parray
          For i = saLBound(*sa) To saUBound(*sa)
            *varSE = SA_VARIANT(*sa, i)
            If *varSE\vt <> #VT_BSTR
              VariantChangeType_(*varSE, *varSE, 0, #VT_BSTR)
            EndIf
            SE_ChassisTypes$ = SystemChassis_Info(Val(PeekS(*varSE\bstrVal, -1, #PB_Unicode)))
            
            IniWrite("C:\systeminfo.txt","System_Enclosure_Info", "System Chassis Type  " + Str(i + 1), "  " + SE_ChassisTypes$)
            VariantClear_(*varSE)
          Next
          saFreeSafeArray(*sa)
      EndIf
      
      IniWrite("C:\systeminfo.txt","System_Enclosure_Info", "============", "============")
            
      SEInfo\Release() 
      SEInfo = colSEInfo\GetNextObject()
    Wend
    colSEInfo\Release() 
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "SEInfo")  
EndIf
IniWrite("C:\systeminfo.txt","System_Enclosure_Info", "============", "End [System_Enclosure_Info] ============" + #CRLF$)
EndProcedure

Procedure QFE_Info()

Define.COMateObject objWMIService, QFEInfo
colQFEInfo.COMateEnumObject
strComputer.s = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService
  colQFEInfo = objWMIService\CreateEnumeration("ExecQuery('Select * from Win32_QuickFixEngineering')")
  IniWrite("C:\systeminfo.txt","Quick_Fix_Engineering_Updates_Info", "==================================", " [Quick_Fix_Engineering_Updates_Info] ==============================================")
  If colQFEInfo
    QFEInfo = colQFEInfo\GetNextObject()
    While QFEInfo
      x = x + 1
      id$ = Str(x)
      QFE_Caption$ = QFEInfo\GetStringProperty("Caption")
      QFE_Description$ = QFEInfo\GetStringProperty("Description")
      QFE_FixComments$ = QFEInfo\GetStringProperty("FixComments")
      QFE_HotFixID$ = QFEInfo\GetStringProperty("HotFixID")
            
      IniWrite("C:\systeminfo.txt","Quick_Fix_Engineering_Updates_Info", id$ + "  Caption", "  " + QFE_Caption$)                  
      IniWrite("C:\systeminfo.txt","Quick_Fix_Engineering_Updates_Info", id$ + "  Description", "  " + QFE_Description$)
      IniWrite("C:\systeminfo.txt","Quick_Fix_Engineering_Updates_Info", id$ + "  Fix Comments", "   " + QFE_FixComments$)
      IniWrite("C:\systeminfo.txt","Quick_Fix_Engineering_Updates_Info", id$ + "  Hot Fix ID", "  " + QFE_HotFixID$)
      IniWrite("C:\systeminfo.txt","Quick_Fix_Engineering_Updates_Info", "============", "============")
      
      QFEInfo\Release()
      QFEInfo = colQFEInfo\GetNextObject()
    Wend
    colQFEInfo\Release()
  EndIf
  objWMIService\Release()
  Else
      MessageRequester("Error", "QFEInfo")  
EndIf
IniWrite("C:\systeminfo.txt","Quick_Fix_Engineering_Updates_Info", "============", "End [Quick_Fix_Engineering_Updates_Info] ============" + #CRLF$)
EndProcedure

Procedure Misc_Info()
IniWrite("C:\systeminfo.txt","Misc_Info", "==================================", " [Misc_Info] ==============================================")
IniWrite("C:\systeminfo.txt","Misc_Info", "=============================NOTES FOR THIS SECTION", "=============================")
IniWrite("C:\systeminfo.txt","Misc_Info", "Hardware Profile Fingerprint Name and GUID", "  " + HardwareFingerprint())
IniWrite("C:\systeminfo.txt","Misc_Info", "NOTE ", "  " + "If Device Status = Pred Fail - it indicates you have a SMART enabled device such as a hard drive that is predicting failure in the near future.")
IniWrite("C:\systeminfo.txt","Misc_Info", "============", "End [Misc_Info] ============" + #CRLF$)
EndProcedure

;>--------------------ini file write-------------------------<

If FileSize("C:\systeminfo.txt") <> -1
  DeleteFile("C:\systeminfo.txt")
  Delay(2000)
EndIf

OS_Version()
Delay(1)
CPU_Info()
Delay(1)
Proc_Features()
Delay(1)
PHYMEM_Info() ; this must run after OS_Version() and CPU_Info()
Delay(1)
CompSystem_Info()
Delay(1)
SystemEnclosure_Info()
Delay(1)
CacheMem_Info()
Delay(1)
VidControl_Info()
Delay(1)
DX_Version()
Delay(1)
Monitor_Info()
Delay(1)
Sound_Info()
Delay(1)
KB_Info()
Delay(1)
PointingDevice_Info()
Delay(1)
PointDeviceFriendlyNameInfo()
Delay(1)
Get_Printers()

Delay(1)
BIOS_Info()
Delay(1)
MB_Info()
Delay(1)
MBD_Device_Info()
Delay(1)
BUS_Info()
Delay(1)
IDE_Info()
Delay(1)
Ports_Info()
Delay(1)
Slot_Info()
Delay(1)
USB_Controller_Info()
Delay(1)
USBDevice_Info()
Delay(1)
LOGICALDevice_Info()
Delay(1)
UserDevice_Info()
Delay(1)
NineFour_Info()

Delay(1)
DriveOverviewType()
Delay(1)
CD_DVD_Info()
Delay(1)
LogDisk_Info()
Delay(1)
NetMappedLogDisk_Info()
Delay(1)
DD_Info()

Delay(1)
OtherNetAdapt_Info()
Delay(1)
PING_Info()
Delay(1)
Adapter_Info()

Delay(1)
Services_Info()
Delay(1)
ServicesLoadOrder_Info()
Delay(1)
Proces_Now()
Delay(1)
CODEC_Info()
Delay(1)
PnPEntity_Info()
Delay(1)
PnPSignedDriver_Info()
Delay(1)
IRQ_Resources_Info()
Delay(1)
QFE_Info()
Delay(1)
Misc_Info()
Delay(1)

If OpenFile(0, "C:\systeminfo.txt")
  FileSeek(0, Lof(0))
  WriteStringN(0, "This file generated:   " + File_Gen_date_time$ + #CRLF$)
  CloseFile(0)
EndIf

IniWrite("C:\systeminfo.txt","END OF FILE", "============", "************ ============")

Delay(3000)
MessageRequester("Information", "Open and read C:\systeminfo.txt", #PB_MessageRequester_Ok)
Last edited by SFSxOI on Sun Feb 22, 2009 10:30 pm, edited 1 time in total.
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

and finally, here is the Utility.pbi include:

Code: Select all

; Utility.pbi

Procedure.s OS_Languages(lang.i)

  Select lang
  
    Case 1
      OS_Lang$ = "Arabic"
    Case 4
      OS_Lang$ = "Chinese (Simplified)- China"
    Case 9
      OS_Lang$ = "English"
    Case 1025
      OS_Lang$ = "Arabic - Saudi Arabia"
    Case 1026
      OS_Lang$ = "Bulgarian"
    Case 1027
      OS_Lang$ = "Catalan"
    Case 1028
      OS_Lang$ = "Chinese (Traditional) - Taiwan"
    Case 1029
      OS_Lang$ = "Czech"
    Case 1030
      OS_Lang$ = "Danish"
    Case 1031
      OS_Lang$ = "German - Germany"
    Case 1032
      OS_Lang$ = "Greek"
    Case 1033
      OS_Lang$ = "English - United States"
    Case 1034
      OS_Lang$ = "Spanish - Traditional Sort"
    Case 1035
      OS_Lang$ = "Finnish"
    Case 1036
      OS_Lang$ = "French - France"
    Case 1037
      OS_Lang$ = "Hebrew"
    Case 1038
      OS_Lang$ = "Hungarian"
    Case 1039
      OS_Lang$ = "Icelandic"
    Case 1040
      OS_Lang$ = "Italian - Italy"
    Case 1041
      OS_Lang$ = "Japanese"
    Case 1042
      OS_Lang$ = "Korean"
    Case 1043
      OS_Lang$ = "Dutch - Netherlands"
    Case 1044
      OS_Lang$ = "Norwegian - Bokmal"
    Case 1045
      OS_Lang$ = "Polish"
    Case 1046
      OS_Lang$ = "Portuguese - Brazil"
    Case 1047
      OS_Lang$ = "Rhaeto-Romanic"
    Case 1048
      OS_Lang$ = "Romanian"
    Case 1049
      OS_Lang$ = "Russian"
    Case 1050
      OS_Lang$ = "Croatian"
    Case 1051
      OS_Lang$ = "Slovak"
    Case 1052
      OS_Lang$ = "Albanian"
    Case 1053
      OS_Lang$ = "Swedish"
    Case 1054
      OS_Lang$ = "Thai"
    Case 1055
      OS_Lang$ = "Turkish"
    Case 1056
      OS_Lang$ = "Urdu"
    Case 1057
      OS_Lang$ = "Indonesian"
    Case 1058
      OS_Lang$ = "Ukrainian"
    Case 1059
      OS_Lang$ = "Belarusian"
    Case 1060
      OS_Lang$ = "Slovenian"
    Case 1061
      OS_Lang$ = "Estonian"
    Case 1062
      OS_Lang$ = "Latvian"
    Case 1063
      OS_Lang$ = "Lithuanian"
    Case 1065
      OS_Lang$ = "Persian"
    Case 1066
      OS_Lang$ = "Vietnamese"
    Case 1069
      OS_Lang$ = "Basque"
    Case 1070
      OS_Lang$ = "Serbian"
    Case 1071
      OS_Lang$ = "Macedonian (FYROM)"
    Case 1072
      OS_Lang$ = "Sutu"
    Case 1073
      OS_Lang$ = "Tsonga"
    Case 1074
      OS_Lang$ = "Tswana"
    Case 1076
      OS_Lang$ = "Xhosa"
    Case 1077
      OS_Lang$ = "Zulu"
    Case 1078
      OS_Lang$ = "Afrikaans"
    Case 1080
      OS_Lang$ = "Faeroese"
    Case 1081
      OS_Lang$ = "Hindi"
    Case 1082
      OS_Lang$ = "Maltese"
    Case 1084
      OS_Lang$ = "Gaelic"
    Case 1085
      OS_Lang$ = "Yiddish"
    Case 1086
      OS_Lang$ = "Malay - Malaysia"
    Case 2049
      OS_Lang$ = "Arabic - Iraq"
    Case 2052
      OS_Lang$ = "Chinese (Simplified) - PRC"
    Case 2055
      OS_Lang$ = "German - Switzerland"
    Case 2057
      OS_Lang$ = "English - United Kingdom"
    Case 2058
      OS_Lang$ = "Spanish - Mexico"
    Case 2060
      OS_Lang$ = "French - Belgium"
    Case 2064
      OS_Lang$ = "Italian - Switzerland"
    Case 2067
      OS_Lang$ = "Dutch - Belgium"
    Case 2068
      OS_Lang$ = "Norwegian - Nynorsk"
    Case 2070
      OS_Lang$ = "Portuguese - Portugal"
    Case 2072
      OS_Lang$ = "Romanian - Moldova"
    Case 2073
      OS_Lang$ = "Russian - Moldova"
    Case 2074
      OS_Lang$ = "Serbian - Latin"
    Case 2077
      OS_Lang$ = "Swedish - Finland"
    Case 3073
      OS_Lang$ = "Arabic - Egypt"
    Case 3076
      OS_Lang$ = "Chinese (Traditional) - Hong Kong SAR"
    Case 3079
      OS_Lang$ = "German - Austria"
    Case 3081
      OS_Lang$ = "English - Australia"
    Case 3082
      OS_Lang$ = "Spanish - International Sort"
    Case 3084
      OS_Lang$ = "French - Canada"
    Case 3098
      OS_Lang$ = "Serbian - Cyrillic"
    Case 4097
      OS_Lang$ = "Arabic - Libya"
    Case 4100
      OS_Lang$ = "Chinese (Simplified) - Singapore"
    Case 4103
      OS_Lang$ = "German - Luxembourg"
    Case 4105
      OS_Lang$ = "English - Canada"
    Case 4106
      OS_Lang$ = "Spanish - Guatemala"
    Case 4108
      OS_Lang$ = "French - Switzerland"
    Case 5121
      OS_Lang$ = "Arabic - Algeria"
    Case 5127
      OS_Lang$ = "German - Liechtenstein"
    Case 5129
      OS_Lang$ = "English - New Zealand"
    Case 5130
      OS_Lang$ = "Spanish - Costa Rica"
    Case 5132
      OS_Lang$ = "French - Luxembourg"
    Case 6145
      OS_Lang$ = "Arabic - Morocco"
    Case 6153
      OS_Lang$ = "English - Ireland"
    Case 6154
      OS_Lang$ = "Spanish - Panama"
    Case 7169
      OS_Lang$ = "Arabic - Tunisia"
    Case 7177
      OS_Lang$ = "English - South Africa"
    Case 7178
      OS_Lang$ = "Spanish - Dominican Republic"
    Case 8193
      OS_Lang$ = "Arabic - Oman"
    Case 8201
      OS_Lang$ = "English - Jamaica"
    Case 8202
      OS_Lang$ = "Spanish - Venezuela"
    Case 9217
      OS_Lang$ = "Arabic - Yemen"
    Case 9226
      OS_Lang$ = "Spanish - Colombia"
    Case 10241
      OS_Lang$ = "Arabic - Syria"
    Case 10249
      OS_Lang$ = "English - Belize"
    Case 10250
      OS_Lang$ = "Spanish - Peru"
    Case 11265
      OS_Lang$ = "Arabic - Jordan"
    Case 11273
      OS_Lang$ = "English - Trinidad"
    Case 11274
      OS_Lang$ = "Spanish - Argentina"
    Case 12289
      OS_Lang$ = "Arabic - Lebanon"
    Case 12298
      OS_Lang$ = "Spanish - Ecuador"
    Case 13313
      OS_Lang$ = "Arabic - Kuwait"
    Case 13322
      OS_Lang$ = "Spanish - Chile"
    Case 14337
      OS_Lang$ = "Arabic - U.A.E."
    Case 14346
      OS_Lang$ = "Spanish - Uruguay"
    Case 15361
      OS_Lang$ = "Arabic - Bahrain"
    Case 15370
      OS_Lang$ = "Spanish - Paraguay"
    Case 16385
      OS_Lang$ = "Arabic - Qatar"
    Case 16394
      OS_Lang$ = "Spanish - Bolivia"
    Case 17418
      OS_Lang$ = "Spanish - El Salvador"
    Case 18442
      OS_Lang$ = "Spanish - Honduras"
    Case 19466
      OS_Lang$ = "Spanish - Nicaragua"
    Case 20490
      OS_Lang$ = "Spanish - Puerto Rico"
    Default
      OS_Lang$ = "Unknown Language"
  
  EndSelect

ProcedureReturn OS_Lang$

EndProcedure

Procedure.s CPU_Family_Type(cpu_famt.i)

  Select cpu_famt
  
    Case 1
      CPU_Fam_Type$ = "Other"
    Case 2
      CPU_Fam_Type$ = "Unknown"
    Case 3
      CPU_Fam_Type$ = "8086"
    Case 4
      CPU_Fam_Type$ = "80286"
    Case 5
      CPU_Fam_Type$ = "Intel386 Processor"
    Case 6
      CPU_Fam_Type$ = "Intel486 Processor"
    Case 7
      CPU_Fam_Type$ = "8087"
    Case 8
      CPU_Fam_Type$ = "80287"
    Case 9
      CPU_Fam_Type$ = "80387"
    Case 10
      CPU_Fam_Type$ = "80487"
    Case 11
      CPU_Fam_Type$ = "Pentium Brand"
    Case 12
      CPU_Fam_Type$ = "Pentium Pro"
    Case 13
      CPU_Fam_Type$ = "Pentium II"
    Case 14
      CPU_Fam_Type$ = "Pentium Processor With MMX Technology"
    Case 15
      CPU_Fam_Type$ = "Celeron"
    Case 16
      CPU_Fam_Type$ = "Pentium II Xeon"
    Case 17
      CPU_Fam_Type$ = "Pentium III"
    Case 18
      CPU_Fam_Type$ = "M1 Family"
    Case 19
      CPU_Fam_Type$ = "M2 Family"
    Case 24
      CPU_Fam_Type$ = "AMD Duron Processor Family"
    Case 25
      CPU_Fam_Type$ = "K5 Family"
    Case 26
      CPU_Fam_Type$ = "K6 Family"
    Case 27
      CPU_Fam_Type$ = "K6-2"
    Case 28
      CPU_Fam_Type$ = "K6-3"
    Case 29
      CPU_Fam_Type$ = "AMD Athlon Processor Family"
    Case 30
      CPU_Fam_Type$ = "AMD2900 Family"
    Case 31
      CPU_Fam_Type$ = "K6-2+"
    Case 32
      CPU_Fam_Type$ = "Power PC Family"
    Case 33
      CPU_Fam_Type$ = "Power PC 601"
    Case 34
      CPU_Fam_Type$ = "Power PC 603"
    Case 35
      CPU_Fam_Type$ = "Power PC 603+"
    Case 36
      CPU_Fam_Type$ = "Power PC 604"
    Case 37
      CPU_Fam_Type$ = "Power PC 620"
    Case 38
      CPU_Fam_Type$ = "Power PC X704"
    Case 39
      CPU_Fam_Type$ = "Power PC 750"
    Case 48
      CPU_Fam_Type$ = "Alpha Family"
    Case 49
      CPU_Fam_Type$ = "Alpha 21064"
    Case 50
      CPU_Fam_Type$ = "Alpha 21066"
    Case 51
      CPU_Fam_Type$ = "Alpha 21164"
    Case 52
      CPU_Fam_Type$ = "Alpha 21164PC"
    Case 53
      CPU_Fam_Type$ = "Alpha 21164a"
    Case 54
      CPU_Fam_Type$ = "Alpha 21264"
    Case 55
      CPU_Fam_Type$ = "Alpha 21364"
    Case 64
      CPU_Fam_Type$ = "MIPS Family"
    Case 65
      CPU_Fam_Type$ = "MIPS R4000"
    Case 66
      CPU_Fam_Type$ = "MIPS R4200"
    Case 67
      CPU_Fam_Type$ = "MIPS R4400"
    Case 68
      CPU_Fam_Type$ = "MIPS R4600"
    Case 69
      CPU_Fam_Type$ = "MIPS R10000"
    Case 80
      CPU_Fam_Type$ = "SPARC Family"
    Case 81
      CPU_Fam_Type$ = "SuperSPARC"
    Case 82
      CPU_Fam_Type$ = "microSPARC II"
    Case 83
      CPU_Fam_Type$ = "microSPARC IIep"
    Case 84
      CPU_Fam_Type$ = "UltraSPARC"
    Case 85
      CPU_Fam_Type$ = "UltraSPARC II"
    Case 86
      CPU_Fam_Type$ = "UltraSPARC IIi"
    Case 87
      CPU_Fam_Type$ = "UltraSPARC III"
    Case 88
      CPU_Fam_Type$ = "UltraSPARC IIIi"
    Case 96
      CPU_Fam_Type$ = "68040"
    Case 97
      CPU_Fam_Type$ = "68xxx Family"
    Case 98
      CPU_Fam_Type$ = "68000"
    Case 99
      CPU_Fam_Type$ = "68010"
    Case 100
      CPU_Fam_Type$ = "68020"
    Case 101
      CPU_Fam_Type$ = "68030"
    Case 112
      CPU_Fam_Type$ = "Hobbit Family"
    Case 120
      CPU_Fam_Type$ = "Crusoe TM5000 Family"
    Case 121
      CPU_Fam_Type$ = "Crusoe TM3000 Family"
    Case 122
      CPU_Fam_Type$ = "Efficeon TM8000 Family"
    Case 128
      CPU_Fam_Type$ = "Weitek"
    Case 130
      CPU_Fam_Type$ = "Itanium Processor"
    Case 131
      CPU_Fam_Type$ = "AMD Athlon 64 Processor Famiily"
    Case 132
      CPU_Fam_Type$ = "AMD Opteron Processor Family"
    Case 144
      CPU_Fam_Type$ = "PA-RISC Family"
    Case 145
      CPU_Fam_Type$ = "PA-RISC 8500"
    Case 146
      CPU_Fam_Type$ = "PA-RISC 8000"
    Case 147
      CPU_Fam_Type$ = "PA-RISC 7300LC"
    Case 148
      CPU_Fam_Type$ = "PA-RISC 7200"
    Case 149
      CPU_Fam_Type$ = "PA-RISC 7100LC"
    Case 150
      CPU_Fam_Type$ = "PA-RISC 7100"
    Case 160
      CPU_Fam_Type$ = "V30 Family"
    Case 176
      CPU_Fam_Type$ = "Pentium III Xeon Processor"
    Case 177
      CPU_Fam_Type$ = "Pentium III Processor With Intel SpeedStep Technology"
    Case 178
      CPU_Fam_Type$ = "Pentium 4"
    Case 179
      CPU_Fam_Type$ = "Intel Xeon"
    Case 180
      CPU_Fam_Type$ = "AS400 Family"
    Case 181
      CPU_Fam_Type$ = "Intel Xeon Processor MP"
    Case 182
      CPU_Fam_Type$ = "AMD Athlon XP Family"
    Case 183
      CPU_Fam_Type$ = "AMD Athlon MP Family"
    Case 184
      CPU_Fam_Type$ = "Intel Itanium 2"
    Case 185
      CPU_Fam_Type$ = "Intel Pentium M Processor"
    Case 190
      CPU_Fam_Type$ = "K7"
    Case 200
      CPU_Fam_Type$ = "IBM390 Family"
    Case 201
      CPU_Fam_Type$ = "G4"
    Case 202
      CPU_Fam_Type$ = "G5"
    Case 203
      CPU_Fam_Type$ = "G6"
    Case 204
      CPU_Fam_Type$ = "z/Architecture Base"
    Case 250
      CPU_Fam_Type$ = "i860"
    Case 251
      CPU_Fam_Type$ = "i960"
    Case 260
      CPU_Fam_Type$ = "SH-3"
    Case 261
      CPU_Fam_Type$ = "SH-4"
    Case 280
      CPU_Fam_Type$ = "ARM"
    Case 281
      CPU_Fam_Type$ = "StrongARM"
    Case 300
      CPU_Fam_Type$ = "6x86"
    Case 301
      CPU_Fam_Type$ = "MediaGX"
    Case 302
      CPU_Fam_Type$ = "MII"
    Case 320
      CPU_Fam_Type$ = "WinChip"
    Case 350
      CPU_Fam_Type$ = "DSP"
    Case 500
      CPU_Fam_Type$ = "Video Processor"
    Default
      CPU_Fam_Type$ = "Unknown"
  
  EndSelect

ProcedureReturn CPU_Fam_Type$

EndProcedure

Procedure.s BiosCharacteristics_Info(bioschar.i)

  Select bioschar
  
    Case 0
      BiosCharacter$ = "Reserved"
    Case 1
      BiosCharacter$ = "Reserved"
    Case 2
      BiosCharacter$ = "Unknown"
    Case 3
      BiosCharacter$ = "BIOS Characteristics not Supported"
    Case 4
      BiosCharacter$ = "ISA is supported"
    Case 5
      BiosCharacter$ = "MCA is supported"
    Case 6
      BiosCharacter$ = "EISA is supported"
    Case 7
      BiosCharacter$ = "PCI is supported"
    Case 8
      BiosCharacter$ = "PC Card (PCMCIA) is supported"
    Case 9
      BiosCharacter$ = "Plug And Play is supported"
    Case 10
      BiosCharacter$ = "APM is supported"
    Case 11
      BiosCharacter$ = "BIOS is Upgradable (Flash)"
    Case 12
      BiosCharacter$ = "BIOS shadowing is allowed"
    Case 13
      BiosCharacter$ = "VL-VESA is supported"
    Case 14
      BiosCharacter$ = "ESCD support is available"
    Case 15
      BiosCharacter$ = "Boot from CD is supported"
    Case 16
      BiosCharacter$ = "Selectable Boot is supported"
    Case 17
      BiosCharacter$ = "BIOS ROM is socketed"
    Case 18
      BiosCharacter$ = "Boot From PC Card (PCMCIA) is supported"
    Case 19
      BiosCharacter$ = "EDD (Enhanced Disk Drive) Specification is supported"
    Case 20
      BiosCharacter$ = "Int 13h - Japanese Floppy For NEC 9800 1.2mb (3.5, 1k Bytes/Sector, 360 RPM) is supported"
    Case 21
      BiosCharacter$ = "Int 13h - Japanese Floppy For Toshiba 1.2mb (3.5, 360 RPM) is supported"
    Case 22
      BiosCharacter$ = "Int 13h - 5.25 / 360 KB Floppy Services are supported"
    Case 23
      BiosCharacter$ = "Int 13h - 5.25 /1.2MB Floppy Services are supported"
    Case 24
      BiosCharacter$ = "Int 13h - 3.5 / 720 KB Floppy Services are supported"
    Case 25
      BiosCharacter$ = "Int 13h - 3.5 / 2.88 MB Floppy Services are supported"
    Case 26
      BiosCharacter$ = "Int 5h, Print Screen Service is supported"
    Case 27
      BiosCharacter$ = "Int 9h, 8042 Keyboard services are supported"
    Case 28
      BiosCharacter$ = "Int 14h, Serial Services are supported"
    Case 29
      BiosCharacter$ = "Int 17h, printer services are supported"
    Case 30
      BiosCharacter$ = "Int 10h, CGA/Mono Video Services are supported"
    Case 31
      BiosCharacter$ = "NEC PC-98"
    Case 32
      BiosCharacter$ = "ACPI is supported"
    Case 33
      BiosCharacter$ = "USB Legacy is supported"
    Case 34
      BiosCharacter$ = "AGP is supported"
    Case 35
      BiosCharacter$ = "I2O boot is supported"
    Case 36
      BiosCharacter$ = "LS-120 boot is supported"
    Case 37
      BiosCharacter$ = "ATAPI ZIP Drive boot is supported"
    Case 38
      BiosCharacter$ = "1394 boot is supported"
    Case 39
      BiosCharacter$ = "Smart Battery is supported"
    Case 40
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 41
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 42
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 43
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 44
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 45
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 46
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 47
      BiosCharacter$ = "Reserved for BIOS vendor"
    Case 48
      BiosCharacter$ = "Reserved for System vendor"
    Case 49
      BiosCharacter$ = "Reserved for System vendor"
    Case 50
      BiosCharacter$ = "Reserved for System vendor"
    Case 51
      BiosCharacter$ = "Reserved for System vendor"
    Case 52
      BiosCharacter$ = "Reserved for System vendor"
    Case 53
      BiosCharacter$ = "Reserved for System vendor"
    Case 54
      BiosCharacter$ = "Reserved for System vendor"
    Case 55
      BiosCharacter$ = "Reserved for System vendor"
    Case 56
      BiosCharacter$ = "Reserved for System vendor"
    Case 57
      BiosCharacter$ = "Reserved for System vendor"
    Case 58
      BiosCharacter$ = "Reserved for System vendor"
    Case 59
      BiosCharacter$ = "Reserved for System vendor"
    Case 60
      BiosCharacter$ = "Reserved for System vendor"
    Case 61
      BiosCharacter$ = "Reserved for System vendor"
    Case 62
      BiosCharacter$ = "Reserved for System vendor"
    Case 63
      BiosCharacter$ = "Reserved for System vendor"
    Default
      BiosCharacter$ = "Unknown or Reserved For system vendor or Reserved For BIOS vendor"
  
  EndSelect

ProcedureReturn BiosCharacter$
EndProcedure

Procedure.s Net_Connection_Status(netcon.i)

  Select netcon
  
    Case 0
      NetCon_Status$ = "Disconnected"
    Case 1
      NetCon_Status$ = "Connecting"
    Case 2
      NetCon_Status$ = "Connected"
    Case 3
      NetCon_Status$ = "Disconnecting"
    Case 4
      NetCon_Status$ = "Hardware NOT present"
    Case 5
      NetCon_Status$ = "Hardware disabled"
    Case 6
      NetCon_Status$ = "Hardware malfunction"
    Case 7
      NetCon_Status$ = "Media disconnected"
    Case 8
      NetCon_Status$ = "Authenticating"
    Case 9
      NetCon_Status$ = "Authentication succeeded"
    Case 10
      NetCon_Status$ = "Authentication failed"
    Case 11
      NetCon_Status$ = "Invalid address"
    Case 12
      NetCon_Status$ = "Credentials required"
    Default
      NetCon_Status$ = "Unknown"
  
  EndSelect

ProcedureReturn NetCon_Status$

EndProcedure

Procedure.s Power_Management(powman.i)

  Select powman
  
    Case 0
      PowMan$ = "Unknown"
    Case 1
      PowMan$ = "Not Supported"
    Case 2
      PowMan$ = "Disabled"
    Case 3
      PowMan$ = "Enabled (Power management features are currently enabled but exact feature set is unknown or information is unavailable.)"
    Case 4
      PowMan$ = "Power Saving Modes Entered Automatically (The device can change its power state based on usage or other criteria.)"
    Case 5
      PowMan$ = "Power State Settable"
    Case 6
      PowMan$ = "Power Cycling Supported"
    Case 7
      PowMan$ = "Timed Power-On Supported"
    Default
      PowMan$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn PowMan$

EndProcedure


Procedure.s Dev_Status_Info(devstatinfo.i)

  Select devstatinfo
  
    Case 1
      DevStatInfo$ = "Other"
    Case 2
      DevStatInfo$ = "Unknown"
    Case 3
      DevStatInfo$ = "Enabled"
    Case 4
      DevStatInfo$ = "Disabled"
    Case 5
      DevStatInfo$ = "Not Applicable"
    Default
      DevStatInfo$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn DevStatInfo$

EndProcedure

Procedure.s Cache_Mem_Type(cmemtype.i)

  Select cmemtype
  
    Case 1
      CmemType$ = "Other"
    Case 2
      CmemType$ = "Unknown"
    Case 3
      CmemType$ = "Instruction"
    Case 4
      CmemType$ = "Data"
    Case 5
      CmemType$ = "Unified"
    Default
      CmemType$ = "Unknown"
  
  EndSelect

ProcedureReturn CmemType$

EndProcedure

Procedure.s Cache_Mem_CurrentSRAM(cmemsram.i)

  Select cmemsram
  
    Case 0
      CmemSRAM$ = "Other"
    Case 1
      CmemSRAM$ = "Unknown"
    Case 2
      CmemSRAM$ = "Non-Burst"
    Case 3
      CmemSRAM$ = "Burst"
    Case 4
      CmemSRAM$ = "Pipeline Burst"
    Case 5
      CmemSRAM$ = "Synchronous"
    Case 6
      CmemSRAM$ = "Asynchronous"
    Default
      CmemSRAM$ = "Unknown"
  
  EndSelect

ProcedureReturn CmemSRAM$

EndProcedure

Procedure.s Cache_Mem_Level(cmemlevel.i)

  Select cmemlevel
  
    Case 1
      Cmem_Level$ = "Other"
    Case 2
      Cmem_Level$ = "Unknown"
    Case 3
      Cmem_Level$ = "Primary"
    Case 4
      Cmem_Level$ = "Secondary"
    Case 5
      Cmem_Level$ = "Tertiary"
    Case 6
      Cmem_Level$ = "Windows XP:  Not Applicable"
    Default
      Cmem_Level$ = "Unknown"
  
  EndSelect

ProcedureReturn Cmem_Level$

EndProcedure

Procedure.s Cache_Mem_ReadPolicy(cmemreadpol.i)

  Select cmemreadpol
  
    Case 1
      Cmem_ReadPol$ = "Other"
    Case 2
      Cmem_ReadPol$ = "Unknown"
    Case 3
      Cmem_ReadPol$ = "Read"
    Case 4
      Cmem_ReadPol$ = "Read-Ahead"
    Case 5
      Cmem_ReadPol$ = "Read And Read-Ahead"
    Case 6
      Cmem_ReadPol$ = "Windows XP:  Determination Per I/O"
    Default
      Cmem_ReadPol$ = "Unknown"
  
  EndSelect

ProcedureReturn Cmem_ReadPol$

EndProcedure

Procedure.s Mem_Form_Factor(memform.i)

  Select memform
  
    Case 0
      MemForm_Fac$ = "Unknown"
    Case 1
      MemForm_Fac$ = "Other"
    Case 2
      MemForm_Fac$ = "SIP"
    Case 3
      MemForm_Fac$ = "DIP"
    Case 4
      MemForm_Fac$ = "ZIP"
    Case 5
      MemForm_Fac$ = "SOJ"
    Case 6
      MemForm_Fac$ = "Proprietary"
    Case 7
      MemForm_Fac$ = "SIMM"
    Case 8
      MemForm_Fac$ = "DIMM"
    Case 9
      MemForm_Fac$ = "TSOP"
    Case 10
      MemForm_Fac$ = "PGA"
    Case 11
      MemForm_Fac$ = "RIMM"
    Case 12
      MemForm_Fac$ = "SODIMM"
    Case 13
      MemForm_Fac$ = "SRIMM"
    Case 14
      MemForm_Fac$ = "SMD"
    Case 15
      MemForm_Fac$ = "SSMP"
    Case 16
      MemForm_Fac$ = "QFP"
    Case 17
      MemForm_Fac$ = "TQFP"
    Case 18
      MemForm_Fac$ = "SOIC"
    Case 19
      MemForm_Fac$ = "LCC"
    Case 20
      MemForm_Fac$ = "PLCC"
    Case 21
      MemForm_Fac$ = "BGA"
    Case 22
      MemForm_Fac$ = "FPBGA"
    Case 23
      MemForm_Fac$ = "LGA"
    Default
      MemForm_Fac$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn MemForm_Fac$

EndProcedure

Procedure.s Ping_Status_Code(pingcode.i)

  Select pingcode
  
    Case 0
      Ping_Stat$ = "Success"
    Case 11001
      Ping_Stat$ = "Buffer Too Small"
    Case 11002
      Ping_Stat$ = "Destination Net Unreachable"
    Case 11003
      Ping_Stat$ = "Destination Host Unreachable"
    Case 11004
      Ping_Stat$ = "Destination Protocol Unreachable"
    Case 11005
      Ping_Stat$ = "Destination Port Unreachable"
    Case 11006
      Ping_Stat$ = "No Resources"
    Case 11007
      Ping_Stat$ = "Bad Option"
    Case 11008
      Ping_Stat$ = "Hardware Error"
    Case 11009
      Ping_Stat$ = "Packet Too Big"
    Case 11010
      Ping_Stat$ = "Request Timed Out"
    Case 11011
      Ping_Stat$ = "Bad Request"
    Case 11012
      Ping_Stat$ = "Bad Route"
    Case 11013
      Ping_Stat$ = "TimeToLive Expired Transit"
    Case 11014
      Ping_Stat$ = "TimeToLive Expired Reassembly"
    Case 11015
      Ping_Stat$ = "Parameter Problem"
    Case 11016
      Ping_Stat$ = "Source Quench"
    Case 11017
      Ping_Stat$ = "Option Too Big"
    Case 11018
      Ping_Stat$ = "Bad Destination"
    Case 11032
      Ping_Stat$ = "Negotiating IPSEC"
    Case 11050
      Ping_Stat$ = "General Failure"
    Default
      Ping_Stat$ = "Unknown"
  
  EndSelect

ProcedureReturn Ping_Stat$

EndProcedure

Procedure.s Availibility_Info(availinfo.i)

  Select availinfo
  
    Case 1
      Avail_Stat$ = "Other"
    Case 2
      Avail_Stat$ = "Unknown"
    Case 3
      Avail_Stat$ = "Running Or Full Power"
    Case 4
      Avail_Stat$ = "Warning"
    Case 5
      Avail_Stat$ = "In Test"
    Case 6
      Avail_Stat$ = "Not Applicable"
    Case 7
      Avail_Stat$ = "Power Off"
    Case 8
      Avail_Stat$ = "Offline"
    Case 9
      Avail_Stat$ = "Off Duty"
    Case 10
      Avail_Stat$ = "Degraded"
    Case 11
      Avail_Stat$ = "Not Installed"
    Case 12
      Avail_Stat$ = "Install Error"
    Case 13
      Avail_Stat$ = "Power Save - Unknown (The device is known to be in a power save mode, but its exact status is unknown.)"
    Case 14
      Avail_Stat$ = "Power Save - Low Power Mode (The device is in a power save state, but still functioning, and may exhibit degraded performance.)"
    Case 15
      Avail_Stat$ = "Power Save - Standby (The device is not functioning, but could be brought to full power quickly.)"
    Case 16
      Avail_Stat$ = "Power Cycle"
    Case 17
      Avail_Stat$ = "Power Save - Warning (The device is in a warning state, but also in a power save mode.)"
    Default
      Avail_Stat$ = "Unknown"
  
  EndSelect

ProcedureReturn Avail_Stat$

EndProcedure

Procedure.s MemType_Detail(mtd.i)

  Select mtd
  
    Case 1
      MemType_Det$ = "Reserved"
    Case 2
      MemType_Det$ = "Other"
    Case 4
      MemType_Det$ = "Unknown"
    Case 8
      MemType_Det$ = "Fast-paged"
    Case 16
      MemType_Det$ = "Static column"
    Case 32
      MemType_Det$ = "Pseudo-Static"
    Case 64
      MemType_Det$ = "RAMBUS"
    Case 128
      MemType_Det$ = "Synchronous"
    Case 256
      MemType_Det$ = "CMOS"
    Case 512
      MemType_Det$ = "EDO"
    Case 1024
      MemType_Det$ = "Window DRAM"
    Case 2048
      MemType_Det$ = "Cache DRAM"
    Case 2096
      MemType_Det$ = "Nonvolatile"
    Default
      MemType_Det$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn MemType_Det$

EndProcedure

Procedure.s Point_Device_Interface(itype.i)

  Select itype
    
    Case 1
      d_interface$ = "Other"
    Case 2
      d_interface$ = "Unknown"
    Case 3
      d_interface$ = "Serial"
    Case 4
      d_interface$ = "PS/2"
    Case 5
      d_interface$ = "Infrared"
    Case 6
      d_interface$ = "HP-HIL"
    Case 7
      d_interface$ = "Bus Mouse"
    Case 8
      d_interface$ = "ADB (Apple Desktop Bus)"
    Case 160
      d_interface$ = "Bus Mouse DB-9"
    Case 161
      d_interface$ = "Bus Mouse Micro-DIN"
    Case 162
      d_interface$ = "USB"
    Default
      d_interface$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn d_interface$

EndProcedure

Procedure.s Comp_Mouse_PointingType(mous_pointx.i)

Select mous_pointx
      Case 1
      Mouse_PointType$ = "Other"
      Case 2
      Mouse_PointType$ = "Unknown"
      Case 3
      Mouse_PointType$ = "Mouse"
      Case 4
      Mouse_PointType$ = "Track Ball"
      Case 5
      Mouse_PointType$ = "Track Point"
      Case 6
      Mouse_PointType$ = "Glide Point"
      Case 7
      Mouse_PointType$ = "Touch Pad"
      Case 8
      Mouse_PointType$ = "Touch Screen"
      Case 9
      Mouse_PointType$ = "Mouse - Optical Sensor"
      Default
      Mouse_PointType$ = "Unknown or Other"
    EndSelect

ProcedureReturn Mouse_PointType$
    
EndProcedure

Procedure.s SystemChassis_Info(sc.i)

  Select sc
  
    Case 1
      SysChas$ = "Other"
    Case 2
      SysChas$ = "Unknown"
    Case 3
      SysChas$ = "Desktop"
    Case 4
      SysChas$ = "Low Profile Desktop"
    Case 5
      SysChas$ = "Pizza Box"
    Case 6
      SysChas$ = "Mini Tower"
    Case 7
      SysChas$ = "Tower"
    Case 8
      SysChas$ = "Portable"
    Case 9
      SysChas$ = "Laptop"
    Case 10
      SysChas$ = "Notebook"
    Case 11
      SysChas$ = "Hand Held"
    Case 12
      SysChas$ = "Docking Station"
    Case 13
      SysChas$ = "All in One"
    Case 14
      SysChas$ = "Sub Notebook"
    Case 15
      SysChas$ = "Space-Saving"
    Case 16
      SysChas$ = "Lunch Box"
    Case 17
      SysChas$ = "Main System Chassis"
    Case 18
      SysChas$ = "Expansion Chassis"
    Case 19
      SysChas$ = "SubChassis"
    Case 20
      SysChas$ = "Bus Expansion Chassis"
    Case 21
      SysChas$ = "Peripheral Chassis"
    Case 22
      SysChas$ = "Storage Chassis"
    Case 23
      SysChas$ = "Rack Mount Chassis"
    Case 24
      SysChas$ = "Sealed-Case PC"
    Default
      SysChas$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn SysChas$

EndProcedure

Procedure.s ConfigManager_ErrorCode(cm_ec.i)

  Select cm_ec
  
    Case 0
      Error_Code_Type$ = "Device is working properly"
    Case 1
      Error_Code_Type$ = "Device is Not configured correctly."
    Case 2
      Error_Code_Type$ = "Windows cannot load the driver For this device."
    Case 3
      Error_Code_Type$ = "Driver For this device might be corrupted, Or the system may be low on memory or other resources."
    Case 4
      Error_Code_Type$ = "Device is Not working properly. One of its drivers or the registry might be corrupted."
    Case 5
      Error_Code_Type$ = "Driver For the device requires a resource that Windows cannot manage."
    Case 6
      Error_Code_Type$ = "Boot configuration For the device conflicts With other devices."
    Case 7
      Error_Code_Type$ = "Cannot filter."
    Case 8
      Error_Code_Type$ = "Driver loader For the device is missing."
    Case 9
      Error_Code_Type$ = "Device is Not working properly. The controlling firmware is incorrectly reporting the resources for the device."
    Case 10
      Error_Code_Type$ = "Device cannot start."
    Case 11
      Error_Code_Type$ = "Device failed."
    Case 12
      Error_Code_Type$ = "Device cannot find enough free resources To use."
    Case 13
      Error_Code_Type$ = "Windows cannot verify the device's resources."
    Case 14
      Error_Code_Type$ = "Device cannot work properly Until the computer is restarted."
    Case 15
      Error_Code_Type$ = "Device is Not working properly due To a possible re-Enumeration problem."
    Case 16
      Error_Code_Type$ = "Windows cannot identify all of the resources that the device uses."
    Case 17
      Error_Code_Type$ = "Device is requesting an unknown resource type."
    Case 18
      Error_Code_Type$ = "Device drivers must be reinstalled."
    Case 19
      Error_Code_Type$ = "Failure using the VxD loader."
    Case 20
      Error_Code_Type$ = "Registry might be corrupted."
    Case 21
      Error_Code_Type$ = "System failure. If changing the device driver is ineffective, see the hardware documentation. Windows is removing the device."
    Case 22
      Error_Code_Type$ = "Device is disabled."
    Case 23
      Error_Code_Type$ = "System failure. If changing the device driver is ineffective, see the hardware documentation."
    Case 24
      Error_Code_Type$ = "Device is Not present, Not working properly, Or does Not have all of its drivers installed."
    Case 25
      Error_Code_Type$ = "Windows is still setting up the device."
    Case 26
      Error_Code_Type$ = "Windows is still setting up the device."
    Case 27
      Error_Code_Type$ = "Device does Not have valid log configuration."
    Case 28
      Error_Code_Type$ = "Device drivers are Not installed."
    Case 29
      Error_Code_Type$ = "Device is disabled. The device firmware did Not provide the required resources."
    Case 30
      Error_Code_Type$ = "Device is using an IRQ resource that another device is using."
    Case 31
      Error_Code_Type$ = "Device is Not working properly. Windows cannot load the required device drivers."
    Default
      Error_Code_Type$ = "Unknown"
  
  EndSelect

ProcedureReturn Error_Code_Type$

EndProcedure

Procedure.s Mem_Type(memtypex.i)

  Select memtypex
  
    Case 0
      Mem_Code_Type$ = "Unknown"
    Case 1
      Mem_Code_Type$ = "Other"
    Case 2
      Mem_Code_Type$ = "DRAM"
    Case 3
      Mem_Code_Type$ = "Synchronous DRAM"
    Case 4
      Mem_Code_Type$ = "Cache DRAM"
    Case 5
      Mem_Code_Type$ = "EDO"
    Case 6
      Mem_Code_Type$ = "EDRAM"
    Case 7
      Mem_Code_Type$ = "VRAM"
    Case 8
      Mem_Code_Type$ = "SRAM"
    Case 9
      Mem_Code_Type$ = "RAM"
    Case 10
      Mem_Code_Type$ = "ROM"
    Case 11
      Mem_Code_Type$ = "Flash"
    Case 12
      Mem_Code_Type$ = "EEPROM"
    Case 13
      Mem_Code_Type$ = "FEPROM"
    Case 14
      Mem_Code_Type$ = "EPROM"
    Case 15
      Mem_Code_Type$ = "CDRAM"
    Case 16
      Mem_Code_Type$ = "3DRAM"
    Case 17
      Mem_Code_Type$ = "SDRAM"
    Case 18
      Mem_Code_Type$ = "SGRAM"
    Case 19
      Mem_Code_Type$ = "RDRAM"
    Case 20
      Mem_Code_Type$ = "DDR"
    Case 21
      Mem_Code_Type$ = "DDR-2"
    Default
      Mem_Code_Type$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn Mem_Code_Type$

EndProcedure

Procedure.s Device_Avail(devavail.i)

  Select devavail
  
    Case 1
      Dev_Avail$ = "Other"
    Case 2
      Dev_Avail$ = "Unknown"
    Case 3
      Dev_Avail$ = "Running Or Full Power"
    Case 4
      Dev_Avail$ = "Warning"
    Case 5
      Dev_Avail$ = "In Test"
    Case 6
      Dev_Avail$ = "Not Applicable"
    Case 7
      Dev_Avail$ = "Power Off"
    Case 8
      Dev_Avail$ = "Off Line"
    Case 9
      Dev_Avail$ = "Off Duty"
    Case 10
      Dev_Avail$ = "Degraded"
    Case 11
      Dev_Avail$ = "Not Installed"
    Case 12
      Dev_Avail$ = "Install Error"
    Case 13
      Dev_Avail$ = "Power Save - Unknown: The device is known to be in a power save mode, but exact status is unknown."
    Case 14
      Dev_Avail$ = "Power Save - Low Power Mode: The device is in a power save state but functioning, may exhibit degraded performance."
    Case 15
      Dev_Avail$ = "Power Save - Standby: The device is not functioning, but could be brought to full power quickly."
    Case 16
      Dev_Avail$ = "Power Cycle"
    Case 17
      Dev_Avail$ = "Power Save - Warning: The device is in a warning state, though also in a power save mode."
    Default
      Dev_Avail$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn Dev_Avail$

EndProcedure

Procedure.s Drive_Access(drvaccs.i)

  Select drvaccs
  
    Case 0
      Drv_Access$ = "Unknown"
    Case 1
      Drv_Access$ = "Readable"
    Case 2
      Drv_Access$ = "Writable"
    Case 3
      Drv_Access$ = "Read/Write Supported"
    Case 4
      Drv_Access$ = "Write Once"
    Default
      Drv_Access$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn Drv_Access$

EndProcedure

Procedure.s Drive_Type(drvtype.i)

  Select drvtype
  
    Case 0
      Drv_Type$ = "Unknown"
    Case 1
      Drv_Type$ = "No Root Directory"
    Case 2
      Drv_Type$ = "Removable Disk"
    Case 3
      Drv_Type$ = "Local Disk"
    Case 4
      Drv_Type$ = "Network Drive"
    Case 5
      Drv_Type$ = "Compact Disc"
    Case 6
      Drv_Type$ = "RAM Disk"
    Default
      Drv_Type$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn Drv_Type$

EndProcedure

Procedure.s Bus_Type_Info(bustypeinfo.i)

  Select bustypeinfo
  
    Case -1
      Bus_TypeInfo$ = "Undefined"
    Case 0
      Bus_TypeInfo$ = "Internal"
    Case 1
      Bus_TypeInfo$ = "ISA"
    Case 2
      Bus_TypeInfo$ = "EISA"
    Case 3
      Bus_TypeInfo$ = "MicroChannel"
    Case 4
      Bus_TypeInfo$ = "TurboChannel"
    Case 5
      Bus_TypeInfo$ = "PCI Bus"
    Case 6
      Bus_TypeInfo$ = "VME Bus"
    Case 7
      Bus_TypeInfo$ = "NuBus"
    Case 8
      Bus_TypeInfo$ = "PCMCIA Bus"
    Case 9
      Bus_TypeInfo$ = "C Bus"
    Case 10
      Bus_TypeInfo$ = "MPI Bus"
    Case 11
      Bus_TypeInfo$ = "MPSA Bus"
    Case 12
      Bus_TypeInfo$ = "Internal Processor"
    Case 13
      Bus_TypeInfo$ = "Internal Power Bus"
    Case 14
      Bus_TypeInfo$ = "PNP ISA Bus"
    Case 15
      Bus_TypeInfo$ = "PNP Bus"
    Case 16
      Bus_TypeInfo$ = "Maximum Interface Type"
    Default
      Bus_TypeInfo$ = "Unknown or Other or Undefined"
  
  EndSelect

ProcedureReturn Bus_TypeInfo$
EndProcedure

Procedure.s Prnt_Status(prntstat.i)

  Select prntstat
  
    Case 1
      Prnt_Status_Info$ = "Other"
    Case 2
      Prnt_Status_Info$ = "Unknown"
    Case 3
      Prnt_Status_Info$ = "Idle"
    Case 4
      Prnt_Status_Info$ = "Printing"
    Case 5
      Prnt_Status_Info$ = "Warming Up"
    Case 6
      Prnt_Status_Info$ = "Stopped printing"
    Case 7
      Prnt_Status_Info$ = "Offline"
    Default
      Prnt_Status_Info$ = "Unknown or Other or Undefined"
  
  EndSelect

ProcedureReturn Prnt_Status_Info$
EndProcedure

Procedure.s Type_Port(porttyp.i)

  Select porttyp
    
    Case 0
      PrtType$ = "None"
    Case 1
      PrtType$ = "Parallel Port XT/AT Compatible"
    Case 2
      PrtType$ = "Parallel Port PS/2"
    Case 3
      PrtType$ = "Parallel Port ECP"
    Case 4
      PrtType$ = "Parallel Port EPP"
    Case 5
      PrtType$ = "Parallel Port ECP/EPP"
    Case 6
      PrtType$ = "Serial Port XT/AT Compatible"
    Case 7
      PrtType$ = "Serial Port 16450 Compatible"
    Case 8
      PrtType$ = "Serial Port 16550 Compatible"
    Case 9
      PrtType$ = "Serial Port 16550A Compatible"
    Case 10
      PrtType$ = "SCSI Port"
    Case 11
      PrtType$ = "MIDI Port"
    Case 12
      PrtType$ = "Joy Stick Port"
    Case 13
      PrtType$ = "Keyboard Port"
    Case 14
      PrtType$ = "Mouse Port"
    Case 15
      PrtType$ = "SSA SCSI"
    Case 16
      PrtType$ = "USB"
    Case 17
      PrtType$ = "FireWire (IEEE P1394)"
    Case 18
      PrtType$ = "PCMCIA Type I"
    Case 19
      PrtType$ = "PCMCIA Type II"
    Case 20
      PrtType$ = "PCMCIA Type III"
    Case 21
      PrtType$ = "CardBus"
    Case 22
      PrtType$ = "Access Bus Port"
    Case 23
      PrtType$ = "SCSI II"
    Case 24
      PrtType$ = "SCSI Wide"
    Case 25
      PrtType$ = "PC-98"
    Case 26
      PrtType$ = "PC-98-Hireso"
    Case 27
      PrtType$ = "PC-H98"
    Case 28
      PrtType$ = "Video Port"
    Case 29
      PrtType$ = "Audio Port"
    Case 30
      PrtType$ = "Modem Port"
    Case 31
      PrtType$ = "Network Port"
    Case 32
      PrtType$ = "8251 Compatible"
    Case 33
      PrtType$ = "8251 FIFO Compatible"
    Default
      PrtType$ = "Unknown"
  
  EndSelect

ProcedureReturn PrtType$

EndProcedure

Procedure.s Slot_DataWidth_Info(slotdatainfo.i)

  Select slotdatainfo
  
    Case 0
      Slot_DataWidth$ = "8"
    Case 1
      Slot_DataWidth$ = "16"
    Case 2
      Slot_DataWidth$ = "32"
    Case 3
      Slot_DataWidth$ = "64"
    Case 4
      Slot_DataWidth$ = "128"
    Default
      Slot_DataWidth$ = "Unknown or Other or Undefined"
  
  EndSelect

ProcedureReturn Slot_DataWidth$
EndProcedure

Procedure.s Slot_Usage_Info(slotuseinfo.i)

  Select slotuseinfo
  
    Case 0
      Slot_UsageInfo$ = "Reserved"
    Case 1
      Slot_UsageInfo$ = "Other"
    Case 2
      Slot_UsageInfo$ = "Unknown"
    Case 3
      Slot_UsageInfo$ = "Available"
    Case 4
      Slot_UsageInfo$ = "In Use"
    Default
      Slot_UsageInfo$ = "Unknown or Other or Undefined"
  
  EndSelect

ProcedureReturn Slot_UsageInfo$
EndProcedure

Procedure.s OS_SKU(SKU.i)

  Select SKU
    
    Case 0
      OpSysSKU$ = "Undefined"
    Case 1
      OpSysSKU$ = "Ultimate Edition"
    Case 2
      OpSysSKU$ = "Home Basic Edition"
    Case 3
      OpSysSKU$ = "Home Basic Premium Edition"
    Case 4
      OpSysSKU$ = "Enterprise Edition"
    Case 5
      OpSysSKU$ = "Home Basic N Edition"
    Case 6
      OpSysSKU$ = "Business Edition"
    Case 7
      OpSysSKU$ = "Standard Server Edition"
    Case 8
      OpSysSKU$ = "Datacenter Server Edition"
    Case 9
      OpSysSKU$ = "Small Business Server Edition"
    Case 10
      OpSysSKU$ = "Enterprise Server Edition"
    Case 11
      OpSysSKU$ = "Starter Edition"
    Case 12
      OpSysSKU$ = "Datacenter Server Core Edition"
    Case 13
      OpSysSKU$ = "Standard Server Core Edition"
    Case 14
      OpSysSKU$ = "Enterprise Server Core Edition"
    Case 15
      OpSysSKU$ = "Enterprise Server Edition for Itanium-Based Systems"
    Case 16
      OpSysSKU$ = "Business N Edition"
    Case 17
      OpSysSKU$ = "Web Server Edition"
    Case 18
      OpSysSKU$ = "Cluster Server Edition"
    Case 19
      OpSysSKU$ = "Home Server Edition"
    Case 20
      OpSysSKU$ = "Storage Express Server Edition"
    Case 21
      OpSysSKU$ = "Storage Standard Server Edition"
    Case 22
      OpSysSKU$ = "Storage Workgroup Server Edition"
    Case 23
      OpSysSKU$ = "Storage Enterprise Server Edition"
    Case 24
      OpSysSKU$ = "Server for Small Business Edition"
    Case 25
      OpSysSKU$ = "Small Business Server Premium Edition"
    Default
      OpSysSKU$ = "Unknown"
  
  EndSelect

ProcedureReturn OpSysSKU$

EndProcedure

Procedure.s VC_RamType(RType.i)

  Select RType
    
    Case 1
      v_mem_type$ = "Other"
    Case 2
      v_mem_type$ = "Unknown"
    Case 3
      v_mem_type$ = "VRAM"
    Case 4
      v_mem_type$ = "DRAM"
    Case 5
      v_mem_type$ = "SRAM"
    Case 6
      v_mem_type$ = "WRAM"
    Case 7
      v_mem_type$ = "EDO RAM"
    Case 8
      v_mem_type$ = "Burst Synchronous DRAM"
    Case 9
      v_mem_type$ = "Pipelined Burst SRAM"
    Case 10
      v_mem_type$ = "CDRAM"
    Case 11
      v_mem_type$ = "3DRAM"
    Case 12
      v_mem_type$ = "SDRAM"
    Case 13
      v_mem_type$ = "SGRAM"
    Default
      v_mem_type$ = "Unknown or Other"
  
  EndSelect

ProcedureReturn v_mem_type$

EndProcedure

Procedure.s Dt_Time(date_time.s, UTC_true.i)
  
  colon$ = ":"
  Dt_Tm_yr$ = Left(date_time, 4)
    
    Select Mid(date_time, 5, 2)
        Case "01"
          Dt_Tm_mo$ = "January"
        Case "02" 
          Dt_Tm_mo$ = "February"
        Case "03" 
          Dt_Tm_mo$ = "March"
        Case "04"
          Dt_Tm_mo$ = "April"
        Case "05" 
          Dt_Tm_mo$ = "May"
        Case "06" 
          Dt_Tm_mo$ = "June"
        Case "07"
          Dt_Tm_mo$ = "July"
        Case "08"
          Dt_Tm_mo$ = "August"
        Case "09"
          Dt_Tm_mo$ = "September"
        Case "10"
          Dt_Tm_mo$ = "October"
        Case "11"
          Dt_Tm_mo$ = "November"
        Case "12"
          Dt_Tm_mo$ = "December"
        Default
          Dt_Tm_mo$ = "No Month"
    EndSelect
  
  Dt_Tm_dy$ = Mid(date_time, 7, 2)
  Dt_Tm_hr$ = Mid(date_time, 9, 2)
  Dt_Tm_mn$ = Mid(date_time, 11, 2)
  Dt_Tm_sc$ = Mid(date_time, 13, 2)
  UTC_Offsetx.i = Val(Mid(date_time, 23))
  UTC_Offsety.i = UTC_Offsetx / 60
  
  If Mid(date_time, 22,1) = "-"
  UTC_Offset$ = "- " + Str(UTC_Offsety) + " Hrs"
  EndIf
  
  If Mid(date_time, 22,1) = "+"
  UTC_Offset$ = "+ " + Str(UTC_Offsety) + " Hrs"
  EndIf
  
  
  If UTC_true = 1
  Dt_Tm$ = Dt_Tm_mo$ + " " + Dt_Tm_dy$ + " , " + Dt_Tm_yr$ + "    " + Dt_Tm_hr$ + colon$ + Dt_Tm_mn$ + colon$ + Dt_Tm_sc$ + "  Hrs" + "  UTC Offset  : " + UTC_Offset$
  EndIf
  
  If UTC_true = 0
  Dt_Tm$ = Dt_Tm_mo$ + " " + Dt_Tm_dy$ + " , " + Dt_Tm_yr$ + "    " + Dt_Tm_hr$ + colon$ + Dt_Tm_mn$ + colon$ + Dt_Tm_sc$ + "  Hrs"
  EndIf

ProcedureReturn Dt_Tm$
EndProcedure
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

Other information for IP addresses is already in the wmi samples with COMate, so I did not include any IP address info here, and did not include any use name or system name information here either but its easy to add if you really want it. here is a sample of the information stuff you will seen in the systeminfo.txt file:

Code: Select all

[Operating_System_Info]
=================================== [Operating_System_Info] ==============================================
OS Version=  Microsoft® Windows Vista™ Ultimate 
OS SKU=  Ultimate Edition
OS Build=  6001
OS Build Type=  Multiprocessor Free
OS Debug=  Not Checked Build
OS Service Pack Major Version=  1
OS Service Pack Minor Version=  0
OS Service Pack Version=  Service Pack 1
OS Install Date=  November 21 , 2007    06:08:57  Hrs
OS UTC Offset from Local Time=  - 6 Hrs
OS Local Date and Time=  February 22 , 2009    14:31:22  Hrs  UTC Offset  : - 6 Hrs
OS System Device=  \Device\HarddiskVolume1
OS Boot Device=  \Device\HarddiskVolume1
OS System Drive=  C:
OS Windows Directory=  C:\Windows
OS System Directory=  C:\Windows\system32
OS Language=  English - United States
OS Country Code=  1
OS Code Set=  1252
OS Encryption Level=  256
=============End [Operating_System_Info] ============

[CPU_Info]
=================================== [CPU_Info] ==============================================
Number of On Board CPU's=  1
CPU  1  System Type=  X86-based PC
CPU  1  Device ID=  CPU0
CPU  1  Number of Cores=  2   Logical Processors   =  2
CPU  1  Manufacturer Info=  Intel(R) Core(TM)2 Duo CPU     E6850  @ 3.00GHz  ( GenuineIntel )
CPU  1  Family - Model - Stepping=  x64 Family 6 Model 15 Stepping 11  in the Pentium 4 Family
CPU  1  Version=  Model 15, Stepping 11
CPU  1  Socket Type=  LGA775
CPU  1  Processor ID=  BFEBFBFF000006FB
CPU  1  Data Width=  64  Bit Total (32  Bit per core)
CPU  1  Address Width=  32  Bit
CPU  1  Maximum Processor Speed=  3005  MHz
CPU  1  Curent Processor Speed=  3005  MHz
CPU  1  External Clock Frequency=  333  MHz
CPU  1  L2CacheSize=  4096  Kilobytes  (4 MB Cache Size)
CPU  1  L2CacheSpeed=  0
CPU  1  L3CacheSize=  0  Kilobytes
CPU  1  L3CacheSpeed=  0
CPU  1  Is CPU Hyper Threaded=  No
CPU  1  Current CPU Voltage=  1.900000  volts
CPU  1  NSM Enabled=  False
=============================NOTES FOR THIS SECTION==============================
Note for L2 Cache Speed=  For most Intel pocessors L2 Cache Speed runs at core speed and do not provide an L2 Cache Speed value to the operating system.
=============End [CPU_Info] ============

[CPU_Processor_Features_Info]
=================================== [CPU_Processor_Features_Info] ==============================================
Floating-point=  Floating-point operations are not emulated
Atomic compare=  The atomic compare and exchange operation (cmpxchg) is available.
MMX instruction=  The MMX instruction set is available.
SSE instruction=  The SSE instruction set is available.
3D-Now instruction=  The 3D-Now instruction set is not available.
RDTSC instruction=  The RDTSC instruction is available.
PAE-enabled=  The processor is PAE-enabled.
SSE2 instruction=  The SSE2 instruction set is available.
Data execution prevention=  Data execution prevention is enabled for processor.
SSE3 instruction=  The SSE3 instruction set is available.
Atomic compare and exchange 128-bit operation (cmpxchg16b)=  The atomic compare and exchange 128-bit operation (cmpxchg16b) is not available.
Atomic compare 64 and exchange 128-bit operation (cmp8xchg16)=  The atomic compare 64 and exchange 128-bit operation (cmp8xchg16) is not available.
Processor channels=  The processor channels are not enabled.
=============================NOTES FOR THIS SECTION==============================
Note 1=   This section only contains information for one processor in multi-processor systems.
Note 2=   Multiple processors in multi-processor systems should all be the same type/model/version and have the same features.
=============End [CPU_Processor_Features_Info] ============

[Memory_Info]
=================================== [Memory_Info] ==============================================
BANK0    Device Locator=  DIMM0
BANK0    DIMM0   Memory Type=  DDR-2
BANK0    DIMM0   Capacity=  1024   MB
BANK0    DIMM0   Data Width=  64
BANK0    DIMM0   Total Width=  64  (should match Data Width if there are no error correction bits)
BANK0    DIMM0   Position In Row=  1
BANK0    DIMM0   Interleave Data Depth=  1
BANK0    DIMM0   Interleave Position=  Non-interleaved
BANK0    DIMM0   Speed=  800  nanoseconds
BANK0    DIMM0   Type Detail=  Synchronous
BANK0    DIMM0   Form Factor=  DIMM
BANK0    DIMM0   Manufacturer=  Manufacturer0
BANK0    DIMM0   Model=  
BANK0    DIMM0   Version=  
BANK0    DIMM0   Serial Number=  SerNum0
BANK0    DIMM0   Part Number=  PartNum0
=========================
BANK1    Device Locator=  DIMM1
BANK1    DIMM1   Memory Type=  DDR-2
BANK1    DIMM1   Capacity=  1024   MB
BANK1    DIMM1   Data Width=  64
BANK1    DIMM1   Total Width=  64  (should match Data Width if there are no error correction bits)
BANK1    DIMM1   Position In Row=  1
BANK1    DIMM1   Interleave Data Depth=  1
BANK1    DIMM1   Interleave Position=  Non-interleaved
BANK1    DIMM1   Speed=  800  nanoseconds
BANK1    DIMM1   Type Detail=  Synchronous
BANK1    DIMM1   Form Factor=  DIMM
BANK1    DIMM1   Manufacturer=  Manufacturer1
BANK1    DIMM1   Model=  
BANK1    DIMM1   Version=  
BANK1    DIMM1   Serial Number=  SerNum1
BANK1    DIMM1   Part Number=  PartNum1
=========================
BANK2    Device Locator=  DIMM2
BANK2    DIMM2   Memory Type=  DDR-2
BANK2    DIMM2   Capacity=  1024   MB
BANK2    DIMM2   Data Width=  64
BANK2    DIMM2   Total Width=  64  (should match Data Width if there are no error correction bits)
BANK2    DIMM2   Position In Row=  1
BANK2    DIMM2   Interleave Data Depth=  1
BANK2    DIMM2   Interleave Position=  Non-interleaved
BANK2    DIMM2   Speed=  800  nanoseconds
BANK2    DIMM2   Type Detail=  Synchronous
BANK2    DIMM2   Form Factor=  DIMM
BANK2    DIMM2   Manufacturer=  Manufacturer2
BANK2    DIMM2   Model=  
BANK2    DIMM2   Version=  
BANK2    DIMM2   Serial Number=  SerNum2
BANK2    DIMM2   Part Number=  PartNum2
=========================
Operating System reports Physical Memory Installed=  3072.0  MB
=============End [Memory_Info] ============

[Computer_System_Info]
=================================== [Computer_System_Info] ==============================================
Description=  AT/AT COMPATIBLE
System Type=  X86-based PC
PC System Type=  Desktop
Manufacturer=  System manufacturer
Model=  P5K
Domain Role=  Standalone Workstation
Admin Password Status=  Not Implemented
Automatic Managed Pagefile=  True
Automatic Reset Boot Option=  True
Automatic Reset Capability=  True
Boot Option On Limit=  Unknown
Boot Option On WatchDog=  Unknown
Boot ROM Supported=  True
Bootup State=  Normal boot
Daylight Savings Time in Effect=  False
Enable Daylight Savings Time=  True
Infrared Supported=  False
Network Server Mode Enabled=  True
Wake Up Type=  Power Switch
OEM String1=  001BFCDB2B16
OEM String2=  To Be Filled By O.E.M.
OEM String3=  To Be Filled By O.E.M.
OEM String4=  To Be Filled By O.E.M.
Status=  OK
=========================
=============End [Computer_System_Info] ============

[System_Enclosure_Info]
=================================== [System_Enclosure_Info] ==============================================
System Chassis Type  1=  Desktop
=========================
=============End [System_Enclosure_Info] ============

[Cache_Memory_Info]
=================================== [Cache_Memory_Info] ==============================================
Cache Memory 0    Type=   Data
Cache Memory 0    Installed Size=   64  (Kilobytes)
Cache Memory 0    Max Cache Size=   64  (Kilobytes)
Cache Memory 0    Level=   Primary
Cache Memory 0    Read Policy=   Unknown
=========================
Cache Memory 1    Type=   Instruction
Cache Memory 1    Installed Size=   4096  (Kilobytes)
Cache Memory 1    Max Cache Size=   4096  (Kilobytes)
Cache Memory 1    Level=   Secondary
Cache Memory 1    Read Policy=   Unknown
=========================
Cache Memory 2    Type=   Unknown
Cache Memory 2    Installed Size=   0  (Kilobytes)
Cache Memory 2    Max Cache Size=   0  (Kilobytes)
Cache Memory 2    Level=   Tertiary
Cache Memory 2    Read Policy=   Unknown
=========================
=============End [Cache_Memory_Info] ============

[Graphics_Card_Info]
=================================== [Graphics_Card_Info] ==============================================
Graphics Card  1   Description=  ATI Radeon HD 2600 XT
Graphics Card  1   Device ID=  VideoController1
Graphics Card  1   Availability=  Running Or Full Power
Graphics Card  1   General Chip Set=  ATI Technologies Inc.
Graphics Card  1   DAC Type=  Internal DAC(400MHz)
Graphics Card  1   Video Processor Type=  ATI Radeon Graphics Processor (0x9588)
Graphics Card  1   vRAM=  512  Mb   (536870912 bytes)
Graphics Card  1   Memory Type=  Unknown
Graphics Card  1   Current Resolution (H x V)=  1680  x  1050
Graphics Card  1   Current Scan Mode=  Non-Interlaced
Graphics Card  1   Current Bits Per Pixel=  32
Graphics Card  1   Current Refresh Rate=  59  Hz
Graphics Card  1   Current Number Of Colors=  4294967296
Graphics Card  1   Current Number Of Columns=  0   (valid if in character mode)
Graphics Card  1   Current Number Of Rows=  0   (valid if in character mode)
Graphics Card  1   ICM Intent=  Unknown or Other
Graphics Card  1   ICM Method=  Unknown or Other
Graphics Card  1   Dither Type=  Unknown or Other
Graphics Card  1   Device Specific Pens=  0
Graphics Card  1   Number Of Color Planes=  0
Graphics Card  1   Number Of Video Pages=  0
Graphics Card  1   Monochrome=  False   (If True, gray scale is used to display images.)
Graphics Card  1   Video Mode Description=  1680 x 1050 x 4294967296 colors
Graphics Card  1   Max Refresh Rate=  75   Hz
Graphics Card  1   Min Refresh Rate=  56   Hz
Graphics Card  1   Power Management Supported=  False
Graphics Card  1   Driver Date=  January 14 , 2009    07:15:40  Hrs
Graphics Card  1   Driver Version=  7.01.01.861
Graphics Card  1   INF Name=  oem62.inf
Graphics Card  1   INF Section=  ati2mtag_RV630
Graphics Card  1   Driver Name=  atidxx32.dll,atidxx64,atiumdag.dll,atiumdva.cap,atiumd64,atiumd6a,atitmm64
Graphics Card  1   User Config=  False
Graphics Card  1   Last Error Description=  
Graphics Card  1   Status=  OK
Graphics Card  1   Error Code Info=  Device is working properly
=============================NOTES FOR THIS SECTION==============================
NOTE 1 (for Refresh Rate)=  Optimal Refresh Rate occurs at monitors natural resolution and refesh rate.
NOTE 2 (for Refresh Rate)=  A value of 0 (zero) indicates the default rate is being used, While 4294967295 indicates the optimal rate is being used.
NOTE 3=   The monitor settings should match the Graphics Card settings, the Graphics Card controls the monitor.
NOTE 4=   Hardware that is not compatible With Windows Display Driver Model (WDDM) will return inaccurate values.
=============End [Graphics_Card_Info] ============

[Direct_X_Info]
=================================== [Direct_X_Info] ==============================================
DirectX Version=   10 for Windows Vista with Service Pack 1
Windows Vista Direct X file   ddraw.dll=   6.0.6000.16386
Windows Vista Direct X file   ddrawex.dll=   6.0.6000.16386
Windows Vista Direct X file   d3d10.dll=   6.0.6001.18000
Windows Vista Direct X file   d3d10core.dll=   6.0.6001.18000
Windows Vista Direct X file   d3d10_1.dll=   6.0.6001.18000
Windows Vista Direct X file   d3d10_1core.dll=   6.0.6001.18000
Windows Vista Direct X file   d3dx10.dll=   9.16.843.0000
Windows Vista Direct X file   d3dx10_33.dll version=   9.18.904.0021
Windows Vista Direct X file   d3dx10_34.dll version=   9.19.949.0046
Windows Vista Direct X file   d3dx10_35.dll version=   9.19.949.1104
Windows Vista Direct X file   d3dx10_36.dll version=   9.19.949.2009
=============End [Direct_X_Info] ============

[Monitor_Info]
=================================== [Monitor_Info] ==============================================
Monitor  1   Manufacturer=  Samsung
Monitor  1   Device ID=  DesktopMonitor1
Monitor  1   Type/Model=  SyncMaster 2433BW(Digital)
Monitor  1   Pixels Per X Logical Inch=  96
Monitor  1   Pixels Per Y Logical Inch=  96
Monitor  1   Screen Width=  1680
Monitor  1   Screen Height=  1050
Monitor  1   Bandwidth=  0  Megahertz
Monitor  1   Status=  OK
Monitor  1   Power Management Supported=  False
Monitor  1   Error Code Info=  Device is working properly
=============================NOTES FOR THIS SECTION==============================
NOTE 1=  Screen Width and Screen Height should match graphics card Current Resolution (H x V). Optimal Refresh Rate occurs at monitors natural resolution and refesh rate.
NOTE 2=  If monitor is not fully WDDM compliant this section might return no information or incorrect information.
NOTE 3=  If General PnP is shown as monitor type you do not have a driver installed for your monitor or your monitor is not WDDM compliant.
NOTE 4=  Monitor is controlled by the Graphics Card. Settings of the Monitor should match those of the Graphics Card.
NOTE 5=  Refer to the Graphics_Card_Info section above for information such as resolution, colors, etc....
=============End [Monitor_Info] ============

[Sound_Card_Info]
=================================== [Sound_Card_Info] ==============================================
Name=  Realtek High Definition Audio
Product Name=  Realtek High Definition Audio
Known Name=  Realtek High Definition Audio
Manufacturer=  Realtek
DMA Buffer Size=  0  Kilobytes
Status=  OK
Error Code Info=  Device is working properly
=============End [Sound_Card_Info] ============

[Keyboard_Info]
=================================== [Keyboard_Info] ==============================================
Keyboard  1   Type=  Enhanced (101- or 102-key)
Keyboard  1   Description=  Saitek Cyborg Keyboard (USB)
Keyboard  1   Name=  Enhanced (101- or 102-key)
Keyboard  1   Device ID=  
Keyboard  1   PNP Device ID=  
Keyboard  1   Layout=  00000409
Keyboard  1   Number Of Function Keys=  12
Keyboard  1   User Config=  False
Keyboard  1   Status=  OK
Keyboard  1   Error Code Info=  Device is working properly
=============================NOTES FOR THIS SECTION==============================
Note for Keyboard Info=  Keyboard information shown as 'Unknown' does not necessarily indicate a problem, don't be alarmed. Some keyboards report this way, especially USB keyboards.
=============End [Keyboard_Info] ============

[Pointing_Device_Info]
=================================== [Pointing_Device_Info] ==============================================
Pointing Device  1   Description=  USB Human Interface Device
Pointing Device  1   Name=  USB Human Interface Device
Pointing Device  1   Availability=  Unknown
Pointing Device  1   Device ID=  USB\VID_046D&PID_C049&MI_00\6&29C93333&0&0000
Pointing Device  1   PNP Device ID=  USB\VID_046D&PID_C049&MI_00\6&29C93333&0&0000
Pointing Device  1   Manufacturer=  (Standard system devices)
Pointing Device  1   Hardware Type=  USB Human Interface Device
Pointing Device  1   Interface=  USB
Pointing Device  1   Pointing Type=  Unknown
Pointing Device  1   Handedness=  Unknown
Pointing Device  1   Sample Rate=  0   Hertz
Pointing Device  1   Double Speed Threshold=  0   Mickeys
Pointing Device  1   Quad Speed Threshold=  0   Mickeys
Pointing Device  1   Resolution=  0
Pointing Device  1   Number Of Buttons=  0
Pointing Device  1   INF File Name=  input.inf
Pointing Device  1   INF Section=  HID_Inst
Pointing Device  1   User Config=  False
Pointing Device  1   Power Management Supported=  False
Pointing Device  1   Status=  OK
Pointing Device  1   Error Code Info=  Device is working properly
=============================NOTES FOR THIS SECTION==============================
Note for Pointing_Device_Info=  Pointing Device information may show as something you don't expect. It does not necessarily indicate a problem, don't be alarmed. Some products report this way, especially USB mouse products.
=============End [Pointing_Device_Info] ============

[Installed_Pointing_Device_Friendly_Name_Info]
=================================== [Installed_Pointing_Device_Friendly_Name_Info] ==============================================
Pointing Device  1   Description=  Logitech HID-compliant G5 Laser Mouse
Pointing Device  1   Name=  Logitech HID-compliant G5 Laser Mouse
Pointing Device  1   Manufacturer=  Logitech
Pointing Device  1   Device ID=  HID\VID_046D&PID_C049&MI_00\7&2E7DC67B&0&0000
Pointing Device  1   PnP Device ID=  HID\VID_046D&PID_C049&MI_00\7&2E7DC67B&0&0000
Pointing Device  1   Class Guid=  {4d36e96f-e325-11ce-bfc1-08002be10318}
Pointing Device  1   Availibility=  Unknown
Pointing Device  1   User Config=  False
Pointing Device  1   Status=  OK
Pointing Device  1   Error Code Info=  Device is working properly
=========================
=============End [Installed_Pointing_Device_Friendly_Name_Info] ============

[Printer_Info]
=================================== [Printer_Info] ==============================================
Microsoft XPS Document Writer=  On Port =  XPSPort:         Network Printer = False   Printer Status = Idle
HP Photosmart C5200 series=  On Port =  USB002     This printer is set as the default printer.    Network Printer = False   Printer Status = Idle
Fax=  On Port =  SHRFAX:         Network Printer = False   Printer Status = Idle
Adobe PDF=  On Port =  Documents\*.pdf         Network Printer = False   Printer Status = Idle
=============End [Printer_Info] ============

[BIOS_Info]
=================================== [BIOS_Info] ==============================================
BIOS Manufacturer=   American Megatrends Inc.
BIOS Description=   BIOS Date: 10/14/08 13:59:09 Ver: 08.00.12
Version=   A_M_I_ - 10000814
BIOS Version=   A_M_I_ - 10000814  BIOS Date: 10/14/08 13:59:09 Ver: 08.00.12
BIOS Serial Number=   System Serial Number
BIOS Software Element ID=   BIOS Date: 10/14/08 13:59:09 Ver: 08.00.12
BIOS Current Language=   en|US|iso8859-1
BIOS Release Date=   October 14 , 2008    00:00:00  Hrs
Bios Characteristics Type #  4=  ISA is supported
Bios Characteristics Type #  7=  PCI is supported
Bios Characteristics Type #  9=  Plug And Play is supported
Bios Characteristics Type #  10=  APM is supported
Bios Characteristics Type #  11=  BIOS is Upgradable (Flash)
Bios Characteristics Type #  12=  BIOS shadowing is allowed
Bios Characteristics Type #  14=  ESCD support is available
Bios Characteristics Type #  15=  Boot from CD is supported
Bios Characteristics Type #  16=  Selectable Boot is supported
Bios Characteristics Type #  17=  BIOS ROM is socketed
Bios Characteristics Type #  19=  EDD (Enhanced Disk Drive) Specification is supported
Bios Characteristics Type #  23=  Int 13h - 5.25 /1.2MB Floppy Services are supported
Bios Characteristics Type #  24=  Int 13h - 3.5 / 720 KB Floppy Services are supported
Bios Characteristics Type #  25=  Int 13h - 3.5 / 2.88 MB Floppy Services are supported
Bios Characteristics Type #  26=  Int 5h, Print Screen Service is supported
Bios Characteristics Type #  27=  Int 9h, 8042 Keyboard services are supported
Bios Characteristics Type #  28=  Int 14h, Serial Services are supported
Bios Characteristics Type #  29=  Int 17h, printer services are supported
Bios Characteristics Type #  30=  Int 10h, CGA/Mono Video Services are supported
Bios Characteristics Type #  32=  ACPI is supported
Bios Characteristics Type #  33=  USB Legacy is supported
Bios Characteristics Type #  36=  LS-120 boot is supported
Bios Characteristics Type #  37=  ATAPI ZIP Drive boot is supported
Bios Characteristics Type #  40=  Reserved for BIOS vendor
Bios Characteristics Type #  42=  Reserved for BIOS vendor
Bios Characteristics Type #  51=  Reserved for System vendor
Bios Characteristics Type #  58=  Reserved for System vendor
Bios Characteristics Type #  59=  Reserved for System vendor
Bios Characteristics Type #  64=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  65=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  66=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  67=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  68=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  69=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  70=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  71=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  72=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  73=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  74=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  75=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  76=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  77=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  78=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
Bios Characteristics Type #  79=  Unknown or Reserved For system vendor or Reserved For BIOS vendor
SMBIOS=   SMBIOS Is Present      SMBIOS BIOS Version:  1201      SMBIOS Major Version:  2   SMBIOS Minor Version:  4
=============End [BIOS_Info] ============

[Mother_Board_Info]
=================================== [Mother_Board_Info] ==============================================
Mother Board:  Manufacturer:  ASUSTeK Computer INC.   Product:  P5K   Version:  Rev 1.xx=  Model Number:  
Mother Board:  Part Number:     Serial Number:  MS6C77B33310635=  Tag:  Base Board
Mother Board:  Config Options:  1=  To Be Filled By O.E.M.
=============End [Mother_Board_Info] ============


and more....!!!
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

and for those of you who like to keep track of the updates youv'e installed, here is a sample in the systeminfo.txt file of what you can see for the updates you have installed:

Code: Select all

[Quick_Fix_Engineering_Updates_Info]
=================================== [Quick_Fix_Engineering_Updates_Info] ==============================================
1  Caption=  
1  Description=  
1  Fix Comments=   
1  Hot Fix ID=  {0C904E7E-4166-4942-9726-3A360B54A675}
=========================
2  Caption=  http://support.microsoft.com/?kbid=937286
2  Description=  Update
2  Fix Comments=   
2  Hot Fix ID=  KB937286
=========================
3  Caption=  http://support.microsoft.com/?kbid=937954
3  Description=  Update
3  Fix Comments=   
3  Hot Fix ID=  KB937954
=========================
4  Caption=  http://support.microsoft.com
4  Description=  Update
4  Fix Comments=   
4  Hot Fix ID=  943729
=========================
5  Caption=  http://support.microsoft.com
5  Description=  Software Update
5  Fix Comments=   
5  Hot Fix ID=  928439
=========================
6  Caption=  http://support.microsoft.com
6  Description=  Software Update
6  Fix Comments=   
6  Hot Fix ID=  932925
=========================
7  Caption=  http://support.microsoft.com
7  Description=  Update
7  Fix Comments=   
7  Hot Fix ID=  954955
=========================
8  Caption=  http://support.microsoft.com/?kbid=925902
8  Description=  Security Update
8  Fix Comments=   
8  Hot Fix ID=  KB925902
=========================
9  Caption=  http://support.microsoft.com?kbid=929399
9  Description=  Update
9  Fix Comments=   
9  Hot Fix ID=  KB929399
=========================
10  Caption=  http://support.microsoft.com?kbid=929735
10  Description=  Update
10  Fix Comments=   
10  Hot Fix ID=  KB929735
=========================
11  Caption=  http://support.microsoft.com/?kbid=930178
11  Description=  Security Update
11  Fix Comments=   
11  Hot Fix ID=  KB930178
=========================
12  Caption=  http://support.microsoft.com/?kbid=930857
12  Description=  Update
12  Fix Comments=   
12  Hot Fix ID=  KB930857
=========================
13  Caption=  http://support.microsoft.com/?kbid=931099
13  Description=  Update
13  Fix Comments=   
13  Hot Fix ID=  KB931099
=========================
14  Caption=  http://support.microsoft.com/?kbid=931573
14  Description=  Update
14  Fix Comments=   
14  Hot Fix ID=  KB931573
=========================
15  Caption=  http://support.microsoft.com/?kbid=932471
15  Description=  Hotfix
15  Fix Comments=   
15  Hot Fix ID=  KB932471
=========================
16  Caption=  http://support.microsoft.com/?kbid=933579
16  Description=  Security Update
16  Fix Comments=   
16  Hot Fix ID=  KB933579
=========================
17  Caption=  http://support.microsoft.com/?kbid=933729
17  Description=  Security Update
17  Fix Comments=   
17  Hot Fix ID=  KB933729
=========================
18  Caption=  http://support.microsoft.com/?kbid=936021
18  Description=  Security Update
18  Fix Comments=   
18  Hot Fix ID=  KB936021
=========================
19  Caption=  http://support.microsoft.com/?kbid=936357
19  Description=  Update
19  Fix Comments=   
19  Hot Fix ID=  KB936357
=========================
20  Caption=  http://support.microsoft.com/?kbid=936782
20  Description=  Security Update
20  Fix Comments=   
20  Hot Fix ID=  KB936782
=========================
21  Caption=  http://support.microsoft.com/?kbid=936825
21  Description=  Update
21  Fix Comments=   
21  Hot Fix ID=  KB936825
=========================
22  Caption=  http://support.microsoft.com/?kbid=937077
22  Description=  Update
22  Fix Comments=   
22  Hot Fix ID=  KB937077
=========================
23  Caption=  http://support.microsoft.com/?kbid=938127
23  Description=  Security Update
23  Fix Comments=   
23  Hot Fix ID=  KB938127
=========================
24  Caption=  http://support.microsoft.com/?kbid=938952
24  Description=  Update
24  Fix Comments=   
24  Hot Fix ID=  KB938952
=========================
25  Caption=  http://support.microsoft.com/?kbid=939159
25  Description=  Update
25  Fix Comments=   
25  Hot Fix ID=  KB939159
=========================
26  Caption=  http://support.microsoft.com/?kbid=941202
26  Description=  Security Update
26  Fix Comments=   
26  Hot Fix ID=  KB941202
=========================
27  Caption=  http://support.microsoft.com/?kbid=941229
27  Description=  Update
27  Fix Comments=   
27  Hot Fix ID=  KB941229
=========================
28  Caption=  http://support.microsoft.com/?kbid=941568
28  Description=  Security Update
28  Fix Comments=   
28  Hot Fix ID=  KB941568
=========================
29  Caption=  http://support.microsoft.com/?kbid=941569
29  Description=  Security Update
29  Fix Comments=   
29  Hot Fix ID=  KB941569
=========================
30  Caption=  http://support.microsoft.com/?kbid=941644
30  Description=  Security Update
30  Fix Comments=   
30  Hot Fix ID=  KB941644
=========================
31  Caption=  http://support.microsoft.com/?kbid=943078
31  Description=  Security Update
31  Fix Comments=   
31  Hot Fix ID=  KB943078
=========================
32  Caption=  http://support.microsoft.com/?kbid=110806
32  Description=  Update
32  Fix Comments=   
32  Hot Fix ID=  KB110806
=========================
33  Caption=  http://support.microsoft.com/?kbid=905866
33  Description=  Update
33  Fix Comments=   
33  Hot Fix ID=  KB905866
=========================
34  Caption=  http://support.microsoft.com/?kbid=929123
34  Description=  Security Update
34  Fix Comments=   
34  Hot Fix ID=  KB929123
=========================
35  Caption=  http://support.microsoft.com/?kbid=929300
35  Description=  Update
35  Fix Comments=   
35  Hot Fix ID=  KB929300
=========================
36  Caption=  http://support.microsoft.com/?kbid=929916
36  Description=  Security Update
36  Fix Comments=   
36  Hot Fix ID=  KB929916
=========================
37  Caption=  http://support.microsoft.com/?kbid=931213
37  Description=  Security Update
37  Fix Comments=   
37  Hot Fix ID=  KB931213
=========================
38  Caption=  http://support.microsoft.com/?kbid=933360
38  Description=  Update
38  Fix Comments=   
38  Hot Fix ID=  KB933360
=========================
39  Caption=  http://support.microsoft.com/?kbid=933928
39  Description=  Update
39  Fix Comments=   
39  Hot Fix ID=  KB933928
=========================
40  Caption=  http://support.microsoft.com/?kbid=935280
40  Description=  Update
40  Fix Comments=   
40  Hot Fix ID=  KB935280
=========================
41  Caption=  http://support.microsoft.com/?kbid=935509
41  Description=  Update
41  Fix Comments=   
41  Hot Fix ID=  KB935509
=========================
42  Caption=  http://support.microsoft.com/?kbid=935807
42  Description=  Security Update
42  Fix Comments=   
42  Hot Fix ID=  KB935807
=========================
43  Caption=  http://support.microsoft.com/?kbid=936824
43  Description=  Update
43  Fix Comments=   
43  Hot Fix ID=  KB936824
=========================
44  Caption=  http://support.microsoft.com/?kbid=937287
44  Description=  Update
44  Fix Comments=   
44  Hot Fix ID=  KB937287
=========================
45  Caption=  http://support.microsoft.com/?kbid=938123
45  Description=  Security Update
45  Fix Comments=   
45  Hot Fix ID=  KB938123
=========================
46  Caption=  http://support.microsoft.com/?kbid=938194
46  Description=  Update
46  Fix Comments=   
46  Hot Fix ID=  KB938194
=========================
47  Caption=  http://support.microsoft.com/?kbid=938371
47  Description=  Update
47  Fix Comments=   
47  Hot Fix ID=  KB938371
=========================
48  Caption=  http://support.microsoft.com/?kbid=938464
48  Description=  Security Update
48  Fix Comments=   
48  Hot Fix ID=  KB938464
=========================
49  Caption=  http://support.microsoft.com/?kbid=938979
49  Description=  Update
49  Fix Comments=   
49  Hot Fix ID=  KB938979
=========================
50  Caption=  http://support.microsoft.com/?kbid=939653
50  Description=  Security Update
50  Fix Comments=   
50  Hot Fix ID=  KB939653
=========================
51  Caption=  http://support.microsoft.com/?kbid=941649
51  Description=  Update
51  Fix Comments=   
51  Hot Fix ID=  KB941649
=========================
52  Caption=  http://support.microsoft.com/?kbid=941651
52  Description=  Update
52  Fix Comments=   
52  Hot Fix ID=  KB941651
=========================
53  Caption=  http://support.microsoft.com/?kbid=941693
53  Description=  Security Update
53  Fix Comments=   
53  Hot Fix ID=  KB941693
=========================
54  Caption=  http://support.microsoft.com/?kbid=942615
54  Description=  Security Update
54  Fix Comments=   
54  Hot Fix ID=  KB942615
=========================
55  Caption=  http://support.microsoft.com/?kbid=942624
55  Description=  Security Update
55  Fix Comments=   
55  Hot Fix ID=  KB942624
=========================
56  Caption=  http://support.microsoft.com/?kbid=942763
56  Description=  Update
56  Fix Comments=   
56  Hot Fix ID=  KB942763
=========================
57  Caption=  http://support.microsoft.com/?kbid=943302
57  Description=  Update
57  Fix Comments=   
57  Hot Fix ID=  KB943302
=========================
58  Caption=  http://support.microsoft.com/?kbid=943411
58  Description=  Security Update
58  Fix Comments=   
58  Hot Fix ID=  KB943411
=========================
59  Caption=  http://support.microsoft.com/?kbid=943899
59  Description=  Update
59  Fix Comments=   
59  Hot Fix ID=  KB943899
=========================
60  Caption=  http://support.microsoft.com/?kbid=947562
60  Description=  Update
60  Fix Comments=   
60  Hot Fix ID=  KB947562
=========================
61  Caption=  http://support.microsoft.com/?kbid=947864
61  Description=  Security Update
61  Fix Comments=   
61  Hot Fix ID=  KB947864
=========================
62  Caption=  http://support.microsoft.com/?kbid=948590
62  Description=  Security Update
62  Fix Comments=   
62  Hot Fix ID=  KB948590
=========================
63  Caption=  http://support.microsoft.com/?kbid=948609
63  Description=  Update
63  Fix Comments=   
63  Hot Fix ID=  KB948609
=========================
64  Caption=  http://support.microsoft.com/?kbid=948610
64  Description=  Update
64  Fix Comments=   
64  Hot Fix ID=  KB948610
=========================
65  Caption=  http://support.microsoft.com/?kbid=948881
65  Description=  Security Update
65  Fix Comments=   
65  Hot Fix ID=  KB948881
=========================
66  Caption=  http://support.microsoft.com/?kbid=950124
66  Description=  Update
66  Fix Comments=   
66  Hot Fix ID=  KB950124
=========================
67  Caption=  http://support.microsoft.com/?kbid=950125
67  Description=  Update
67  Fix Comments=   
67  Hot Fix ID=  KB950125
=========================
68  Caption=  http://support.microsoft.com/?kbid=950126
68  Description=  Update
68  Fix Comments=   
68  Hot Fix ID=  KB950126
=========================
69  Caption=  http://support.microsoft.com/?kbid=950582
69  Description=  Security Update
69  Fix Comments=   
69  Hot Fix ID=  KB950582
=========================
70  Caption=  http://support.microsoft.com/?kbid=950759
70  Description=  Security Update
70  Fix Comments=   
70  Hot Fix ID=  KB950759
=========================
71  Caption=  http://support.microsoft.com/?kbid=950760
71  Description=  Security Update
71  Fix Comments=   
71  Hot Fix ID=  KB950760
=========================
72  Caption=  http://support.microsoft.com/?kbid=950762
72  Description=  Security Update
72  Fix Comments=   
72  Hot Fix ID=  KB950762
=========================
73  Caption=  http://support.microsoft.com/?kbid=950974
73  Description=  Security Update
73  Fix Comments=   
73  Hot Fix ID=  KB950974
=========================
74  Caption=  http://support.microsoft.com/?kbid=951066
74  Description=  Security Update
74  Fix Comments=   
74  Hot Fix ID=  KB951066
=========================
75  Caption=  http://support.microsoft.com/?kbid=951072
75  Description=  Update
75  Fix Comments=   
75  Hot Fix ID=  KB951072
=========================
76  Caption=  http://support.microsoft.com/?kbid=951376
76  Description=  Security Update
76  Fix Comments=   
76  Hot Fix ID=  KB951376
=========================
77  Caption=  http://support.microsoft.com/?kbid=951618
77  Description=  Update
77  Fix Comments=   
77  Hot Fix ID=  KB951618
=========================
78  Caption=  http://support.microsoft.com/?kbid=951698
78  Description=  Security Update
78  Fix Comments=   
78  Hot Fix ID=  KB951698
=========================
79  Caption=  http://support.microsoft.com/?kbid=951978
79  Description=  Update
79  Fix Comments=   
79  Hot Fix ID=  KB951978
=========================
80  Caption=  http://support.microsoft.com/?kbid=952069
80  Description=  Security Update
80  Fix Comments=   
80  Hot Fix ID=  KB952069
=========================
81  Caption=  http://support.microsoft.com/?kbid=952287
81  Description=  Hotfix
81  Fix Comments=   
81  Hot Fix ID=  KB952287
=========================
82  Caption=  http://support.microsoft.com/?kbid=952709
82  Description=  Update
82  Fix Comments=   
82  Hot Fix ID=  KB952709
=========================
83  Caption=  http://support.microsoft.com/?kbid=953155
83  Description=  Security Update
83  Fix Comments=   
83  Hot Fix ID=  KB953155
=========================
84  Caption=  http://support.microsoft.com/?kbid=953733
84  Description=  Security Update
84  Fix Comments=   
84  Hot Fix ID=  KB953733
=========================
85  Caption=  http://support.microsoft.com/?kbid=953838
85  Description=  Security Update
85  Fix Comments=   
85  Hot Fix ID=  KB953838
=========================
86  Caption=  http://support.microsoft.com/?kbid=953839
86  Description=  Security Update
86  Fix Comments=   
86  Hot Fix ID=  KB953839
=========================
87  Caption=  http://support.microsoft.com/?kbid=954154
87  Description=  Security Update
87  Fix Comments=   
87  Hot Fix ID=  KB954154
=========================
88  Caption=  http://support.microsoft.com/?kbid=954211
88  Description=  Security Update
88  Fix Comments=   
88  Hot Fix ID=  KB954211
=========================
89  Caption=  http://support.microsoft.com/?kbid=954366
89  Description=  Update
89  Fix Comments=   
89  Hot Fix ID=  KB954366
=========================
90  Caption=  http://support.microsoft.com/?kbid=954459
90  Description=  Security Update
90  Fix Comments=   
90  Hot Fix ID=  KB954459
=========================
91  Caption=  http://support.microsoft.com/?kbid=955020
91  Description=  Update
91  Fix Comments=   
91  Hot Fix ID=  KB955020
=========================
92  Caption=  http://support.microsoft.com/?kbid=955069
92  Description=  Security Update
92  Fix Comments=   
92  Hot Fix ID=  KB955069
=========================
93  Caption=  http://support.microsoft.com/?kbid=955302
93  Description=  Update
93  Fix Comments=   
93  Hot Fix ID=  KB955302
=========================
94  Caption=  http://support.microsoft.com/?kbid=955519
94  Description=  Update
94  Fix Comments=   
94  Hot Fix ID=  KB955519
=========================
95  Caption=  http://support.microsoft.com/?kbid=955839
95  Description=  Update
95  Fix Comments=   
95  Hot Fix ID=  KB955839
=========================
96  Caption=  http://support.microsoft.com/?kbid=956390
96  Description=  Security Update
96  Fix Comments=   
96  Hot Fix ID=  KB956390
=========================
97  Caption=  http://support.microsoft.com/?kbid=956391
97  Description=  Security Update
97  Fix Comments=   
97  Hot Fix ID=  KB956391
=========================
98  Caption=  http://support.microsoft.com/?kbid=956802
98  Description=  Security Update
98  Fix Comments=   
98  Hot Fix ID=  KB956802
=========================
99  Caption=  http://support.microsoft.com/?kbid=956841
99  Description=  Security Update
99  Fix Comments=   
99  Hot Fix ID=  KB956841
=========================
100  Caption=  http://support.microsoft.com/?kbid=957095
100  Description=  Security Update
100  Fix Comments=   
100  Hot Fix ID=  KB957095
=========================
101  Caption=  http://support.microsoft.com/?kbid=957097
101  Description=  Security Update
101  Fix Comments=   
101  Hot Fix ID=  KB957097
=========================
102  Caption=  http://support.microsoft.com/?kbid=957200
102  Description=  Update
102  Fix Comments=   
102  Hot Fix ID=  KB957200
=========================
103  Caption=  http://support.microsoft.com/?kbid=957321
103  Description=  Update
103  Fix Comments=   
103  Hot Fix ID=  KB957321
=========================
104  Caption=  http://support.microsoft.com/?kbid=957388
104  Description=  Update
104  Fix Comments=   
104  Hot Fix ID=  KB957388
=========================
105  Caption=  http://support.microsoft.com/?kbid=958215
105  Description=  Security Update
105  Fix Comments=   
105  Hot Fix ID=  KB958215
=========================
106  Caption=  http://support.microsoft.com/?kbid=958481
106  Description=  Update
106  Fix Comments=   
106  Hot Fix ID=  KB958481
=========================
107  Caption=  http://support.microsoft.com/?kbid=958483
107  Description=  Update
107  Fix Comments=   
107  Hot Fix ID=  KB958483
=========================
108  Caption=  http://support.microsoft.com/?kbid=958623
108  Description=  Security Update
108  Fix Comments=   
108  Hot Fix ID=  KB958623
=========================
109  Caption=  http://support.microsoft.com/?kbid=958624
109  Description=  Security Update
109  Fix Comments=   
109  Hot Fix ID=  KB958624
=========================
110  Caption=  http://support.microsoft.com/?kbid=958644
110  Description=  Security Update
110  Fix Comments=   
110  Hot Fix ID=  KB958644
=========================
111  Caption=  http://support.microsoft.com/?kbid=958687
111  Description=  Security Update
111  Fix Comments=   
111  Hot Fix ID=  KB958687
=========================
112  Caption=  http://support.microsoft.com/?kbid=959108
112  Description=  Update
112  Fix Comments=   
112  Hot Fix ID=  KB959108
=========================
113  Caption=  http://support.microsoft.com/?kbid=959130
113  Description=  Update
113  Fix Comments=   
113  Hot Fix ID=  KB959130
=========================
114  Caption=  http://support.microsoft.com/?kbid=960544
114  Description=  Update
114  Fix Comments=   
114  Hot Fix ID=  KB960544
=========================
115  Caption=  http://support.microsoft.com/?kbid=960714
115  Description=  Security Update
115  Fix Comments=   
115  Hot Fix ID=  KB960714
=========================
116  Caption=  http://support.microsoft.com/?kbid=960715
116  Description=  Security Update
116  Fix Comments=   
116  Hot Fix ID=  KB960715
=========================
117  Caption=  http://support.microsoft.com/?kbid=961260
117  Description=  Security Update
117  Fix Comments=   
117  Hot Fix ID=  KB961260
=========================
118  Caption=  http://support.microsoft.com/?kbid=936330
118  Description=  Service Pack
118  Fix Comments=   
118  Hot Fix ID=  KB936330
=========================
119  Caption=  http://support.microsoft.com/?kbid=940157
119  Description=  Update
119  Fix Comments=   
119  Hot Fix ID=  940157
=========================
=============End [Quick_Fix_Engineering_Updates_Info] ============
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

The above will support providing information for multiple processors, multiple graphics cards, and multiple monitors. Its not as neat as some stuff, but it works (at least here). If there is something that doesn't work on XP let me know. Not every system will propulate all the information. The whole thing takes about 5 - 10 seconds, depending on the system, to gather all the info and write it to systeminfo.txt.
akj
Enthusiast
Enthusiast
Posts: 668
Joined: Mon Jun 09, 2003 10:08 pm
Location: Nottingham

Post by akj »

The procedure IsUserAnAdmin() seems to be missing.
It is called at or about line 70.
Anthony Jordan
SFSxOI
Addict
Addict
Posts: 2970
Joined: Sat Dec 31, 2005 5:24 pm
Location: Where ya would never look.....

Post by SFSxOI »

akj wrote:The procedure IsUserAnAdmin() seems to be missing.
It is called at or about line 70.
You need the droopy library, its in the droopy library, see the first post for the requirements
Post Reply