'C# version coming with v1.0; Full Release will be on HackForums.net, alpha releases here, beta & alpha versions here. 'UNDER CONSTRUCTION. 30% COMPLETE. ALPHA RELEASE. 'Lucid Development 'Advanced Systems Analysis ---- UNDER CONSTRUCTION. 30% COMPLETE. ALPHA RELEASE. 'Featuers: ' OperatingSystem Information: (4% done) ' OS Version ' Name, Major, Minor, Build, Revision ' CPU Information: (63% done) ' AddressWidth ' Architecture ' Availability ' Caption ' COnfigManagerErrorCode ' ConfigManagerUserConfig ' CpuStatus ' CreationClassName ' CurrentClockSpeed ' CurrentVoltage ' DataWidth ' Description ' DeviceID ' ErrorCleared ' ErrorDescription ' ExtClock ' Family ' InstallDate ' L2CacheSize ' L2CacheSpeed ' L3CacheSize ' L3CacheSpeed ' LastErrorCode ' Level ' LoadPercentage ' Manufacturer ' MaxClockSpeed ' Name ' NumberOfCores ' NumberOfLogicalProcessors ' OtherFamilyDescription ' PNPDeviceID ' User Information (1% done) ' User Name ' Screen Resolution ' Computer Info (.5% done) ' WinDir() Imports System.Management Namespace LucidDevelopment ' ASA v0.3-b12-ALPHA Class OSVersionInfo 'These are basics, since these are easy to grab I'm not including very many in this version. v2 of this class will be more extensive Public Function GetOSVersion() As String Select Case Environment.OSVersion.Platform Case PlatformID.Win32S Return "Win 3.1" Case PlatformID.Win32Windows Select Case Environment.OSVersion.Version.Minor Case 0 Return "Win95" Case 10 Return "Win98" Case 90 Return "WinME" Case Else Return "Unknown" End Select Case PlatformID.Win32NT Select Case Environment.OSVersion.Version.Major Case 3 Return "NT 3.51" Case 4 Return "NT 4.0" Case 5 Select Case _ Environment.OSVersion.Version.Minor Case 0 Return "Win2000" Case 1 Return "WinXP" Case 2 Return "Win2003" End Select Case 6 Return "Vista/Windows 7" Case Else Return "Unknown" End Select Case PlatformID.WinCE Return "Win CE" End Select Return "Unknown" End Function Public Function GetVersionMajor() As String Return Environment.OSVersion.Version.Major.ToString End Function Public Function GetVersionMinor() As String Return Environment.OSVersion.Version.Minor.ToString End Function Public Function GetVersionBuild() As String Return Environment.OSVersion.Version.Build.ToString End Function Public Function GetVersionRevision() As String Return Environment.OSVersion.Version.Revision.ToString End Function End Class Class CPUInfo Dim searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_Processor") Private Function getObj(s As String) As String Try For Each queryObj As ManagementObject In searcher.[Get]() Return queryObj(s) Next Catch ex As Exception Return "Feil i søket '" & s & "' - " & ex.ToString End Try Return "Verdi Ukjent" End Function Public Function AddressWidth() As String Return getObj("AddressWidth") End Function Public Function Architecture() As String Return getObj("Architecture") End Function Public Function Availability() As String Return getObj("Availability") End Function Public Function Caption() As String Return getObj("Caption") End Function Public Function ConfigManagerErrorCode() As String Return getObj("ConfigManagerErrorCode") End Function Public Function ConfigManagerUserConfig() As String Return getObj("ConfigManagerUserConfig") End Function Public Function CpuStatus() As String Return getObj("CpuStatus") End Function Public Function CreationClassName() As String Return getObj("CreationClassName") End Function Public Function CurrentClockSpeed() As String Return getObj("CurrentClockSpeed") End Function Public Function CurrentVoltage() As String Return getObj("CurrentVoltage") End Function Public Function DataWidth() As String Return getObj("DataWidth") End Function Public Function Description() As String Return getObj("Description") End Function Public Function DeviceID() As String Return getObj("DeviceID") End Function Public Function ErrorCleared() As String Return getObj("ErrorCleared") End Function Public Function ErrorDescription() As String Return getObj("ErrorDescription") End Function Public Function ExtClock() As String Return getObj("ExtClock") End Function Public Function Family() As String Return getObj("Family") End Function Public Function InstallDate() As String Return getObj("InstallDate") End Function Public Function L2CacheSize() As String Return getObj("L2CacheSize") End Function Public Function L2CacheSpeed() As String Return getObj("L2CacheSpeed") End Function Public Function L3CacheSize() As String Return getObj("L3CacheSize") End Function Public Function L3CacheSpeed() As String Return getObj("L3CacheSpeed") End Function Public Function LastErrorCode() As String Return getObj("LastErrorCode") End Function Public Function Level() As String Return getObj("Level") End Function Public Function LoadPercentage() As String Return getObj("LoadPercentage") End Function Public Function Manufacturer() As String Return getObj("Manufacturer") End Function Public Function MaxClockSpeed() As String Return getObj("MaxClockSpeed") End Function Public Function Name() As String Return getObj("Name") End Function Public Function NumberOfCores() As String Return getObj("NumberOfCores") End Function Public Function NumberOfLogicalProcessors() As String Return getObj("NumberOfLogicalProcessors") End Function Public Function OtherFamilyDescription() As String Return getObj("OtherFamilyDescription") End Function Public Function PNPDeviceID() As String Return getObj("PNPDeviceID") End Function Public Function CPUID() As String Dim computer As String = "." Dim wmi As Object = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & computer & "\root\cimv2") Dim processors As Object = wmi.ExecQuery("Select * from " & "Win32_Processor") Dim cpu_ids As String = "" For Each cpu As Object In processors cpu_ids = cpu_ids & ", " & cpu.ProcessorId Next cpu If cpu_ids.Length > 0 Then cpu_ids = cpu_ids.Substring(2) Return cpu_ids End Function Public Function SystemSerialNumber() As String ' Get the Windows Management Instrumentation object. Dim wmi As Object = GetObject("WinMgmts:") ' Get the "base boards" (mother boards). Dim serial_numbers As String = "" Dim mother_boards As Object = _ wmi.InstancesOf("Win32_BaseBoard") For Each board As Object In mother_boards serial_numbers &= ", " & board.SerialNumber Next board If serial_numbers.Length > 0 Then serial_numbers = _ serial_numbers.Substring(2) Return serial_numbers End Function End Class Class UserInfo Public Function UserName() As String Return SystemInformation.UserName End Function Public Function Resolution() As String Return "(" & SystemInformation.WorkingArea.Width & ", " & SystemInformation.WorkingArea.Height & ")" End Function End Class Class ComputerInfo Public Function WinDir() As String Return Environ$("windir") End Function End Class End Namespace