Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-01-2004, 01:32   #1
disumano
Senior Member
 
L'Avatar di disumano
 
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
[vb6] leggere chiavi del reg

mi serve che una mia applicazione "sappia" che os è installato.
credo che il controllo possa essere fatto leggendo la chiave del registro di configurazione dove c'è scritto che os uso.

ora volevo sapere però come si fa ad assegnare ad una stringa il valore di una chiave del reg e se eventualmente c'è anche un altro modo per avere la stessa informazione.
grazie
disumano è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 09:20   #2
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
con la premessa che non sono molto ferrato in vb6, la prima cosa che dovresti fare è di leggere il registro di sistema mettendo questo codice in una classe:

Codice:
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal HKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long


Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal HKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long


Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal HKey As Long, ByVal dwIndex As Long, ByVal lpName As String, cbName As Long, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long


Private 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


Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal HKey As Long) As Long
    


Public Enum HKeys
    HKEY_CLASSES_ROOT = &H80000000
    HKEY_CURRENT_USER = &H80000001
    HKEY_LOCAL_MACHINE = &H80000002
    HKEY_USERS = &H80000003
    HKEY_PERFORMANCE_DATA = &H80000004
    HKEY_CURRENT_CONFIG = &H80000005
    HKEY_DYN_DATA = &H80000006
End Enum


Private Const STANDARD_RIGHTS_ALL = &H1F0000
Private Const KEY_QUERY_VALUE = &H1
Private Const KEY_SET_VALUE = &H2
Private Const KEY_CREATE_SUB_KEY = &H4
Private Const KEY_ENUMERATE_SUB_KEYS = &H8
Private Const KEY_NOTIFY = &H10
Private Const KEY_CREATE_LINK = &H20
Private Const SYNCHRONIZE = &H100000
Private Const KEY_ALL_ACCESS = ( _
( _
STANDARD_RIGHTS_ALL Or _
KEY_QUERY_VALUE Or _
KEY_SET_VALUE Or _
KEY_CREATE_SUB_KEY Or _
KEY_ENUMERATE_SUB_KEYS Or _
KEY_NOTIFY Or _
KEY_CREATE_LINK _
) _
And _
( _
Not SYNCHRONIZE _
) _
)

Dim RootHKey As HKeys
Dim SubDir As String
Dim HKey As Long
Dim OpenRegOk As Boolean
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 13:01   #3
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Re: [vb6] leggere chiavi del reg

Quote:
Originariamente inviato da disumano
mi serve che una mia applicazione "sappia" che os è installato.
Per questo nn serve leggere il registro perchè le info su un OS le puoi reperire in altri modi...la mianiera più corretta è questa...

é una mia funzione che utilizza le API, se nn ti piace cambiala pure ma cmq il modo di riperirle è cmq una parte della funzione.


Codice:
Option Explicit

Public Enum OS_INFORMATION
  OSI_PLATFORM
  OSI_MAJOR_VERSION
  OSI_MINOR_VERSION
  OSI_BUILD_NUMBER
  OSI_UPDATE
End Enum

Private Type OSVERSIONINFO
  dwOSVersionInfoSize     As Long
  dwMajorVersion          As Long
  dwMinorVersion          As Long
  dwBuildNumber           As Long
  dwPlatformId            As Long
  szCSDVersion            As String * 128
End Type

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long

Public Function GetOSInformation(ByVal OSInformation As OS_INFORMATION) As String

  Dim OSInfo        As OSVERSIONINFO
  

  'imposto la dimensione della struttura
  OSInfo.dwOSVersionInfoSize = Len(OSInfo)

  'prelevo le informazioni di windows
  Call GetVersionEx(OSInfo)
  
  Select Case OSInformation
    Case 0
      'testo di che genere di OS c'è
      Select Case OSInfo.dwPlatformId
        Case 0: GetOSInformation = "Windows 32s"
        Case 1: GetOSInformation = IIf(OSInfo.dwMinorVersion = 0, "Windows 95", "Windows 98")
        Case 2: GetOSInformation = IIf(OSInfo.dwMajorVersion = 4, "Windows NT", IIf(OSInfo.dwMinorVersion = 0, "Windows 2000", "Windows XP"))
      End Select
    Case 1: GetOSInformation = OSInfo.dwMajorVersion
    Case 2: GetOSInformation = OSInfo.dwMinorVersion
    Case 3: GetOSInformation = OSInfo.dwBuildNumber
    Case 4: GetOSInformation = Left$(OSInfo.szCSDVersion, InStr(1, OSInfo.szCSDVersion, Chr$(0)))
  End Select
  
End Function
Spero di nn avere sbagliato a tracopiare nulla altrimenti mi dici che cosa ti manca, metti tutto in un modulo (se ti va) e basta che dal main richiami la funzione e ti fa scegliere lui che cosa richiedere.

Ti posto anche la funzione per sapere se un OS è base NT o no, magari ti serve...

Codice:
Public Function IsWinNT() As Boolean

  Dim myOS As OSVERSIONINFO
  
  
  myOS.dwOSVersionInfoSize = Len(myOS)
  
  Call GetVersionEx(myOS)
  
  IsWinNT = (myOS.dwPlatformId = 2) '2 parametro piattaforma NT
  
End Function
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein

Ultima modifica di matpez : 09-01-2004 alle 13:04.
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 13:04   #4
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Aspettavo con ansia le tue correzioni
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 14:09   #5
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Quote:
Originariamente inviato da maxithron
Aspettavo con ansia le tue correzioni
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 23:28   #6
disumano
Senior Member
 
L'Avatar di disumano
 
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
grazie
__________________
"catch a homo by his toe,
man I don't know no more
am I the only fuckin' one
who's normal any more?"
disumano è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v