Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
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 developer – SCJP 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


ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Apple Watch SE 3 con cassa da 44 mm a 24...
Ecco i 3 migliori TV in offerta: Xiaomi ...
Vitalik Buterin (Ethereum): l'IA potrebb...
Recensione HUAWEI WATCH D3, il migliore ...
Robot ECOVACS da 249 a 399 €: differenze...
GlobalFoundries produrrà negli US...
Apple prepara un evento per marted&igrav...
Musk, Huang e Lisa Su alla Casa Bianca: ...
iPhone Air 2 sarà ancora pi&ugrav...
Data center in stallo: San Francisco blo...
Brevetti violati, Apple dovrà ris...
Atari riporta in vita l'800XL: cos&igrav...
ArtCraft, la suite open source che punta...
XBOX annuncia XP, la nuova divisione ded...
Sony avrebbe trasferito a Meta 419 breve...
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:57.


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