Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
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


Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
Edge AI: NVIDIA Jetson raggiungerà...
La missione robotica LINK per salvare il...
Potrebbe essere stato lanciato l'ultimo ...
PamStealer, il malware per Mac che prima...
NAVEE EXO S Pro, il robot esoscheletro p...
Samsung Galaxy A57 5G a 399€ con 256 GB:...
Volevano collegare delle aragoste vive a...
La crisi dei PC è peggiore del pr...
Alibaba pronta a vietare Claude Code ai ...
Sovranità sui dati: Cloud Firewal...
FiberCop porterà la fibra Gigabit...
Data center in Lombardia: 20 progetti sc...
Tutti i modi in cui la scommessa di Orac...
Kioxia e SanDisk sbandierano i numeri de...
iPhone 18 Pro potrebbe usare modem Qualc...
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: 21:31.


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