Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [vb6]

  1. #1

    [vb6]

    ho questa porzione di codice che vedete...

    Modulo1.bas
    codice:
    Global Const REG_RESOURCE_LIST = &H8
    Global Const REG_RESOURCE_REQUIREMENTS_LIST = &HA
    Global Const REG_SZ = &H1
    
    Public Const SYNCHRONIZE = &H100000
    Public Const READ_CONTROL = &H20000
    Public Const STANDARD_RIGHTS_READ = (READ_CONTROL)
    Public Const KEY_QUERY_VALUE = &H1
    Public Const KEY_ENUMERATE_SUB_KEYS = &H8
    Public Const KEY_NOTIFY = &H10
    Public Const KEY_WRITE = &H20006
    Public Const KEY_ALL_ACCESS = &H2003F
    Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
    
    Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
    Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
    Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
    Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As Any, phkResult As Long, lpdwDisposition As Long) As Long
    Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal samDesired As Long, phkResult As Long) As Long
    Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
    Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
    Public Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As Any) As Long
    Public Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
    Public Declare Function RegNotifyChangeKeyValue Lib "advapi32.dll" (ByVal hKey As Long, ByVal bWatchSubtree As Boolean, ByVal dwNotifyFilter As Long, ByVal hEvent As Long, ByVal fAsynchronous As Boolean) As Long
    Public Declare Function RegRestoreKey Lib "advapi32.dll" Alias "RegRestoreKeyA" (ByVal hKey As Long, ByVal lpFile As String, ByVal dwFlags As Long) As Long  ' Main function
    Public Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As Any) As Long
    codice:
    Button1_onClick
    Dim rc, KeyRoot, KeyName, hKey, KeyDesc, tmpVal, KeyValSize, keyval
        KeyRoot = HKEY_LOCAL_MACHINE
        KeyName = "SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\HP Color LaserJet 5/5M PS"
        KeyDesc = "DriverVersion"
        tmpVal = String$(8, 0)
        KeyValSize = 8 'l'ho impostato a 8 perchč č la lunghezza reale della voce di registro
        rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)
        MsgBox rc
            Dim lResult As Long
            lResult = RegQueryValueEx(hKey, _
                            KeyDesc, _
                            0, _
                            REG_BINARY, _
                            tmpVal, _
                            KeyValSize)
                            
        If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then
            tmpVal = Left(tmpVal, KeyValSize - 1)
        Else
            tmpVal = Left(tmpVal, KeyValSize)
        End If
        MsgBox tmpVal
    il valore della chiave di registro sono i seguenti 8 byte:
    00, C0, 4B, 7D, 0F, 4C, BF, 01

    se provo ad eseguire l'applicazione mi da il seguente errore:
    Errore di Runtime 458
    la variabile utilizza un tipo di automazione non supprtato in visualbasic

    e la variabile incriminata č tmpVal
    sapreste spiegarmi il perchč?

    Grazie
    Ciao
    *** Rachele TI AMO DA MORIRE!!! ***

  2. #2

    [VB6] REGISTRO DI WINDOWS - REG_BINARY

    mi so scordato il titolo
    *** Rachele TI AMO DA MORIRE!!! ***

  3. #3
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    ma quante ne vuoi aprire? :master:
    questa la chiudo, la prossima vota stai pių attento con i titolo.. al limite editiamo noi
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.