Programación General > Visual Basic 6.0 e inferiores

 Información Del Sistema

(1/1)

antonio Sw:
Hola a todos:

   Necesito sacar información del sistema, como que windows tiene el usuario (xp, 2000, me, 98), número de serie del disco duro, nombre de la tarjeta grafica, memorio. ¿Alguien me podría pasar algo de código?  No encuentro nada por internet.

  Muchas Gracias...

  Antonio.

RadicalEd:
MIRA TODO ESTE CODIGO LO SACA EL WIZARD DE VB Y PUEDES VER TODA LA INFORMACION DEL SISTEMA

--- Código: Text --- ' Reg Key Security Options...Const KEY_ALL_ACCESS = &H2003F                                           ' Reg Key ROOT Types...Const HKEY_LOCAL_MACHINE = &H80000002Const ERROR_SUCCESS = 0Const REG_SZ = 1                         ' Unicode nul terminated stringConst REG_DWORD = 4                      ' 32-bit number  Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"Const gREGVALSYSINFOLOC = "MSINFO"Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"Const gREGVALSYSINFO = "PATH"  Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As LongPrivate Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As LongPrivate Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long Private Sub Form_Load()    LoadResStrings Me    lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision    lblTitle.Caption = App.TitleEnd Sub     Private Sub cmdSysInfo_Click()        Call StartSysInfoEnd Sub  Private Sub cmdOK_Click()        Unload MeEnd Sub  Public Sub StartSysInfo()    On Error GoTo SysInfoErr          Dim rc As Long        Dim SysInfoPath As String                 ' Try To Get System Info Program Path\Name From Registry...        If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then        ' Try To Get System Info Program Path Only From Registry...        ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then                ' Validate Existance Of Known 32 Bit File Version                If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then                        SysInfoPath = SysInfoPath & "\MSINFO32.EXE"                                         ' Error - File Can Not Be Found...                Else                        GoTo SysInfoErr                End If        ' Error - Registry Entry Can Not Be Found...        Else                GoTo SysInfoErr        End If                 Call Shell(SysInfoPath, vbNormalFocus)                 Exit SubSysInfoErr:        MsgBox "System Information Is Unavailable At This Time", vbOKOnlyEnd Sub  Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean        Dim i As Long                                           ' Loop Counter        Dim rc As Long                                          ' Return Code        Dim hKey As Long                                        ' Handle To An Open Registry Key        Dim hDepth As Long                                      '        Dim KeyValType As Long                                  ' Data Type Of A Registry Key        Dim tmpVal As String                                    ' Tempory Storage For A Registry Key Value        Dim KeyValSize As Long                                  ' Size Of Registry Key Variable        '------------------------------------------------------------        ' Open RegKey Under KeyRoot {HKEY_LOCAL_MACHINE...}        '------------------------------------------------------------        rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Open Registry Key                 If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Error...                 tmpVal = String$(1024, 0)                             ' Allocate Variable Space        KeyValSize = 1024                                       ' Mark Variable Size                 '------------------------------------------------------------        ' Retrieve Registry Key Value...        '------------------------------------------------------------        rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize)    ' Get/Create Key Value                                                         If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Errors                 If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then           ' Win95 Adds Null Terminated String...                tmpVal = Left(tmpVal, KeyValSize - 1)               ' Null Found, Extract From String        Else                                                    ' WinNT Does NOT Null Terminate String...                tmpVal = Left(tmpVal, KeyValSize)                   ' Null Not Found, Extract String Only        End If        '------------------------------------------------------------        ' Determine Key Value Type For Conversion...        '------------------------------------------------------------        Select Case KeyValType                                  ' Search Data Types...        Case REG_SZ                                             ' String Registry Key Data Type                KeyVal = tmpVal                                     ' Copy String Value        Case REG_DWORD                                          ' Double Word Registry Key Data Type                For i = Len(tmpVal) To 1 Step -1                    ' Convert Each Bit                        KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))   ' Build Value Char. By Char.                Next                KeyVal = Format$("&h" + KeyVal)                     ' Convert Double Word To String        End Select                 GetKeyValue = True                                      ' Return Success        rc = RegCloseKey(hKey)                                  ' Close Registry Key        Exit Function                                           ' Exit         GetKeyError:    ' Cleanup After An Error Has Occured...        KeyVal = ""                                             ' Set Return Val To Empty String        GetKeyValue = False                                     ' Return Failure        rc = RegCloseKey(hKey)                                  ' Close Registry KeyEnd Function [/color]

Daniel_PC:
hola si quieres algo mas simple para obtener informacion de tu pc Buscar por WMI

aqui te envio un ejemplo de lo que puedes obtener

Daniel PC

Navegación

[0] Índice de Mensajes

Ir a la versión completa