Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Con un semplice dialogo in linguaggio naturale e la potenza di una scheda video di fascia alta è possibile costruire software funzionante da zero, senza scrivere una riga di codice e senza inviare un solo byte dei propri dati a server esterni
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-09-2007, 13:23   #1
Golden_eagle
Junior Member
 
Iscritto dal: Nov 2006
Messaggi: 12
[VB6] Presenza di programma installato

Ciao a tutti sono "nuovo" del forum
Ho un piccolo problemino... sto facendo un programma che tra le tante funzioni deve sapere e mostrare se alcuni giochi sono installati. Per ora per provare controllavo la presenza dell'eseguibile principale nel percorso standard d'installazione, ma è evidente che un piccolo cambiamento di path da parte dell'utente nel momento dell'installazione comprometterebbe al non riconoscimento di esso da parte del mio programma. Un esempio di com'è ora:

If Len(Dir$(C:\Programmi\gioco\gioco.exe)) Then
lst1.AddItem ("Gioco dei giochi")
End If

Adesso però che sto perfezionando tutto è ora di risolvere questo problema ma non mi viene in mente niente. L'unica cosa che ho pensato è che si potrebbe andare a cercare nel registro di sistema, ma come? Grazie

PS: di VB6 sono abbastanza niubbo ( ) quindi vi prego di darmi una grossa mano
Golden_eagle è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2007, 15:23   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Golden_eagle Guarda i messaggi
Adesso però che sto perfezionando tutto è ora di risolvere questo problema ma non mi viene in mente niente. L'unica cosa che ho pensato è che si potrebbe andare a cercare nel registro di sistema, ma come? Grazie
Sicuramente andare a vedere nel registry è una buona soluzione e molto probabilmente ci sono diversi punti in cui l'applicazione ha dei dati.

Se l'applicazione è installata in modo che si "veda" (come molte altre applicazioni) in "Pannello di controllo -> Installazione applicazioni" allora c'è sicuramente una voce sotto:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Se l'applicazione ha dei dati di configurazione allora potrebbero essere sotto:

HKEY_LOCAL_MACHINE\SOFTWARE\nomesocietà\nomeprodotto

o

HKEY_CURRENT_USER\Software\nomesocietà\nomeprodotto

Poi basta che fai tu qualche ricerca nel registry .... purtroppo non dici quali giochi sono e comunque anche se dicessi quali, io non li conosco di certo e non avrei possibilità di verificare.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2007, 15:39   #3
Golden_eagle
Junior Member
 
Iscritto dal: Nov 2006
Messaggi: 12
Il mio problema non è sapere cosa c'è da cercare perchè la maggior parte di sti giochi ce li ho installati e posso vedere io stesso, e gli altri volendo posso installarli per provare o andare da amici che ce li hanno. Il mio problema è come fare in controllo in pratica, quindi il codice... supponiamo call of duty 2... anzi no cod2 non lo trovo nel registro del sistema in uninstall anche se in Installazione Applicazioni è presente... bho allora facciamo Call of Duty (l'uno). Si trova qua:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Call of Duty\

Dato che molte applicazioni alla rimozione lasciano comunque la chiave secondo me bisogna agire sui valori. Ce ne sono 2:

DisplayName REG_SZ Call of Duty
UninstallString REG_SZ C:\PROGRA~1\ACTIVI~1\CALLOF~1\Uninstall\Unwise.exe /u C:\PROGRA~1\ACTIVI~1\CALLOF~1\Uninstall\Install.log

Mi sa che bisogna sapere se esiste questo valore... però non saprei, magari in Uninstall cancellano sempre la chiave... boh! Secondo te basta vedere se esiste la chiave oppure proprio il valore? Comunque se mi potresti fare un esempio che equivalga alla stringa di codice nel primo post adattato a Call of Duty di cui ho scritto le info qua sopra poi posso adattarlo per tutti gli altri e te ne sarei grato

PS: ho visitato il tuo sito. Complimenti (sia per te che per il sito)! E' semplice, pulito, velocissimo da caricare...

Ultima modifica di Golden_eagle : 03-09-2007 alle 15:59.
Golden_eagle è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2007, 09:32   #4
Golden_eagle
Junior Member
 
Iscritto dal: Nov 2006
Messaggi: 12
UP?

Mi serve disperatly
Golden_eagle è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2007, 16:39   #5
miguelito
Member
 
L'Avatar di miguelito
 
Iscritto dal: Nov 2006
Messaggi: 35
Accesso al registro di windows

Per l'accesso al registro di windows puoi usare le funzioni RegOpenKey RegCreateKey RegFlushKey facenti parte della libreria advapi32.dll. Per un esempio del loro utilizzo puoi fare riferimento al seguente link:

http://www.enricomilano.it/sintassi.asp?cod=1426

Trovi qualcosa sul loro utilizzo anche sul ben noto MSDN
__________________
... niente dura e non di meno niente passa ...
miguelito è offline   Rispondi citando il messaggio o parte di esso
Old 04-09-2007, 16:40   #6
Golden_eagle
Junior Member
 
Iscritto dal: Nov 2006
Messaggi: 12
Ho trovato questo in giro ma dopo alcune prove non sono ancora riuscito a trovare se esiste o no una determinata chiave di registro
Golden_eagle è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2007, 08:00   #7
Golden_eagle
Junior Member
 
Iscritto dal: Nov 2006
Messaggi: 12
Dopo tante prove penso che quella che si avvicini di più alla correttezza sia questa:

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, ByRef phkResult As Long) As Long
Private Sub Form_Load()
Const KEY_READ = &H20019
Dim handle As Long
Dim KeyName As String
KeyName = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
If RegOpenKeyEx(HKEY_LOCAL_MACHINE, KeyName, 0, KEY_READ, handle) <> ERROR_SUCCESS Then
Label1 = "non esiste proprio"
Else
Label1 = "esiste sisi"
End If
End Sub
Naturalmente ho collocato la libreria API advapi32.dll nella stessa directory del progetto, ma nulla, continua a darmi che la chiave non esiste quando per forza quella chiave esiste
Golden_eagle è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2007, 19:28   #8
miguelito
Member
 
L'Avatar di miguelito
 
Iscritto dal: Nov 2006
Messaggi: 35
funzione regopenkeyex

Ho provato la funzione e per ciò che mi concerne funziona. Ti posto il codice da me provato invitandoti a controllare in modo particolare i valori assegnati alle variabili HKEY_LOCAL_MACHINE e KEY_READ che ho impostato come da esempio:

Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Integer, ByVal lpSubKey As String, ByVal ulOptions As Integer, ByVal samDesired As Integer, ByRef phkResult As Integer) As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim nomeChiave As String
Dim handle As Integer
Dim HKEY_LOCAL_MACHINE As Integer = &H80000002
Dim KEY_READ As Integer = &H20019


nomeChiave = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"

If RegOpenKeyEx(HKEY_LOCAL_MACHINE, nomeChiave, 0, KEY_READ, handle) = 0 Then
MessageBox.Show("Chiave ESISTENTE") 'ERROR_SUCCESS
Else
MessageBox.Show("Chiave INESISTENTE") 'ERRORE COME INDICATO IN Winerror.h
End If

End Sub

Ovviamente devi possedere i diritti d'amministratore per aprire tale chiave ed essa deve essere correttamente presente nel registro. Ma questo credo già lo sai
__________________
... niente dura e non di meno niente passa ...

Ultima modifica di miguelito : 05-09-2007 alle 19:47.
miguelito è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Anthropic li chiama virus mentali: passa...
Claude ora invia email da Gmail senza ch...
Nuova rimodulazione per i clienti TIM: f...
Clausola energetica UE: via libera a pom...
OpenAI, stop all'addestramento più...
La robotica umanoide cinese sbarca in Bo...
I Google Pixel utilizzeranno l'IA per mo...
Sony annuncia la data d'uscita delle Pul...
Nothing Ear (3) a 119€: gli auricolari c...
Roborock Qrevo Curv 2 Flow a 499€ e Saro...
Apple avvisa dello spyware in quattro po...
Xiaomi svela gli interni (assurdi) di Sk...
Framework Laptop 12: la nuova generazion...
iPhone 18 Pro, si parla di 200-300 euro ...
La società cinese Landspace &egra...
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: 12:03.


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