Retrieve OS info:
Code:Private Declare Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long Private Declare Function GetDiskFreeSpaceEx Lib "kernel32.dll" Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As String, lpFreeBytesAvailableToCaller As ULARGE_INTEGER, lpTotalNumberOfBytes As ULARGE_INTEGER, lpTotalNumberOfFreeBytes As ULARGE_INTEGER) As Long Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Private Type ULARGE_INTEGER LowPart As Long HighPart As Long End Type Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Dim OsInfo As OSVERSIONINFO Dim tmp As String Dim FreeUser As ULARGE_INTEGER Dim Total As ULARGE_INTEGER Dim FreeSys As ULARGE_INTEGER Dim Temp As Currency Dim fTemp As Currency Private Sub Command1_Click() 'Get OS Info OsInfo.dwOSVersionInfoSize = Len(OsInfo) retval = GetVersionEx(OsInfo) Select Case OsInfo.dwPlatformId Case 0 tmp = "Windows 3.x" Case 1 tmp = "Windows 95/98" Case 2 tmp = "Windows NT" End Select Print "Version: " & OsInfo.dwMajorVersion & "." & OsInfo.dwMinorVersion Print "Build: " & OsInfo.dwBuildNumber Print "Platform: " & tmp 'Get DiskSpace GetDiskFreeSpaceEx "C:\", FreeUser, Total, FreeSys CopyMemory Temp, Total, 8 CopyMemory fTemp, FreeUser, 8 Print "Total Space: " & (CCur(Temp) * 10000) / 1000000000 & " GB" Print "Free Space: " & (CCur(fTemp) * 10000) / 1000000000 & " GB" End Sub




Reply With Quote