Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
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


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
La Radeon RX 9070 XT appare su Steam e m...
L'America si ribella ai datacenter: bloc...
'Artificial General Engineer': l'IA di J...
Il drone NASA Dragonfly, che voler&agrav...
Stop immediato a Fable 5 e Mythos 5: il ...
"Prime Day Amazon il 23-26 giugno": sì e...
Oggi 2 super MacBook Pro M5 e M5 Pro, 24...
Tineco Floor One Station S9 Artist: il s...
Raggiunte nuove altitudine e velocit&agr...
Apple Watch Series 11 GPS a 339€ su Amaz...
Come un MacBook, ma con la RTX 5070: MSI...
Paolo Zaccardi: "Smettere di assume...
Finalmente a buon prezzo 2 mini PC con R...
Samsung Galaxy Watch 7: uno crolla a 146...
NVIDIA pronta al 'piano B' per la Cina: ...
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: 13:38.


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