Newsgroup: it.comp.lang.visual-basic
Titolo: Ricerca chiave nel registro

Buongiorno,
    mi potreste indirizzare su un sito o potreste dirmi voi uno script che 
illustri come, dato il nome di un programma, mi ricerchi se è installato? 
Immagino che basti cercare la sua chiave nel registro ma come fare?
Grazie! 

 Immagino che basti cercare la sua chiave nel registro ma come fare?
Guarda se ti puo andare bene questo : (cercare nel registro e' piu complicato)[1]
'Far partire da esegui cscript nomefile.vbs
'per esempio nomina il file XXX.vbs e piazzalo in c:\
' poi start esegui cscript XXX.vbs   (invio)
' Fa' una lista completa di tutti gli exe in c:\programmi
wscript.stdout.writeline "start: " & now
set shell = createobject("wscript.shell")
set fso = createobject("scripting.filesystemobject")
sCmd = "%comspec% /c dir C:\PROGRA~1\*.exe /s > c:\ExeList.txt"
shell.run sCmd,0,1
sText = fso.opentextfile("c:\ExeList.txt").readall
wscript.stdout.writeline "finish: " & now
wscript.stdout.write sText
wscript.stdout.writeline ""
wscript.stdout.writeline ""
wscript.stdout.writeline "press ENTER to continue..."
wscript.stdin.readline
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  (per esempio xxx.vbs)
'se ti da' errore disattiva l'antivirus
o questo :  (qui basta cliccare sul vbs)
Dim str
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
Set Win = WScript.CreateObject("Shell.Application")
set oShell = CreateObject("WScript.Shell")
Set objFolder=Win.NameSpace("c:\programmi")
Msgbox  Win.NameSpace("c:\programmi")
For I=0 To 8
 str=str & objFolder.GetDetailsOf(, I) & vbTab
Next
str=str & vbCrLf
For Each obj In objFolder.Items
 For I=0 To 8
  str=str & objFolder.GetDetailsOf(obj, I) & vbTab
 Next
 str=str & vbCrLf
Next
Set ts=Fs.CreateTextFile("c:\Programmi.txt")
ts.Write str
ts.Close
msgbox "done"
while not FS.FileExists("c:\Programmi.txt")
WScript.Sleep 100
Wend
oShell.run"c:\Programmi.txt"
'[1]
' oppure con i programmi REGOLARMENTE installati che hanno
'una procedura di disinstallazione
set oShell = CreateObject("WScript.Shell")
sLogFile = "C:\LogFile.Log"
oFile ="C:\WINDOWS\TEMP\UNI.REG"
Set oFSO = CreateObject("Scripting.FileSystemObject")
oShell.run"regedit /e UNI.reg HKEY_LOCAL_MACHINE\Software\"& _
 "Microsoft\Windows\CurrentVersion\Uninstall"
WScript.Sleep 2500
Set oLogFile = oFSO.OpenTextFile(sLogFile, 8, True, 0)
    Set oStream = oFSO.OpenTextFile(oFile, 1)
    Do Until oStream.AtEndOfStream
      sLine = oStream.ReadLine
'  If InStr(UCase(sLine),"QUIETDISPLAY") Or InStr(UCase(sLine),"QUIETUNINSTALL") Then
If InStr(UCase(sLine),"DISPLAYNAME") Or InStr(UCase(sLine),"QUIETUNINSTALL") Then
        oLogFile.WriteLine sLine & VBCrLf
      End If
    Loop
while not oFSO.FileExists("C:\LogFile.Log")
WScript.Sleep 1000
Wend
oShell.run"C:\LogFile.Log"
--
Fosco

"Fosco"
If InStr(UCase(sLine),"DISPLAYNAME") Or InStr(UCase(sLine),"QUIETUNINSTALL")Then
questo sopra DEVE stare TUTTO su una riga  (anche il then)
--
Fosco

Ti ringrazio... solo che a me serviva integrarlo dentro l'exe e qui invece 
descrivi un sistema esterno! cmq i prog che cerco devono essere installati 
regolarmente!
Cmq ora vedo di modificare i tuoi script in modo che diventino + 
integrabili.
Grazie! 

"aaa"

Prova PRIMA questo :
http://vbnet.mvps.org/code/reg/reguninstall.htm
da :  
http://tinyurl.com/gytaf
--
Fosco