Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
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
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


Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
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...
Torna a soli 588,99€ la e-bike con batte...
2 belle stampanti HP injet in sconto, un...
La missione per salvare il telescopio sp...
La stella S301 è così vici...
Chery accelera sulla robotica: Aimoga si...
Voigtländer Nokton 23mm e 35mm f/1....
Il Lunar Reconnaissance Orbiter della NA...
Prova a beffare il tribunale con un mess...
Pasticcio Freelander: usa l'immagine di ...
A New York apre la clinica del fondatore...
Control Resonant entra in fase Gold e ri...
HONOR Pad 20 Pro è ufficiale: un ottimo ...
Tesla Robotaxi sfonda dei dissuasori: il...
Call of Duty: Modern Warfare 4 presenta ...
Intel Arc più veloce fino al 5% s...
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: 06:52.


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