hi,
1. hier ist die entgüldige version (funktioniert (fast) fehlerfrei und findet alle einträge:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
searchInRegistry("MozillaFirebird.exe", "c:\reg.dat")
End Sub
Sub searchInRegistry(ByVal searchString As String, ByVal exportPath As _
String)
Dim sr As IO.StreamReader
Dim str As String
Dim p1, p2 As Integer
Dim path As String
searchString = LCase(searchString)
If Not IO.File.Exists(exportPath) Then
MsgBox("exportiere die registry .. kann eine oder mehr sekunde(n)" & _
"dauern .. ")
Application.DoEvents()
Shell("regedit.exe /e " & exportPath, AppWinStyle.Hide, True)
MsgBox("export in die datei " & exportPath & " abgeschlossen !" & _
"suche jetzt nach " & searchString & "..")
End If
sr = New IO.StreamReader(exportPath)
sr.ReadLine()
Do While sr.Peek() >= 0
str = sr.ReadLine() : str = Trim(str) : str = LCase(str)
If InStr(str, searchString, CompareMethod.Text) Then
If str <> vbNullString And InStr(str, "@") Then
str = (Replace(str, Chr(34) & "\", ""))
p1 = InStr(str, Chr(34))
p2 = InStr(p1 + 1, str, ".exe")
If ((((p1 And p2) > 0)) And InStr(str, searchString, _
CompareMethod.Text)) Then
p2 += 3
str = (Replace(str, "\\", "\"))
path = Trim(Mid(str, p1 + 1, (p2 - p1) - 1))
path = Mid(path, 1, InStr(path, ".exe") + 3)
If ((IO.File.Exists(path)) And (Not IO.Directory.Exists( _
path))) Then
If (MsgBox(searchString & " [" & path & "] wurde" & _
"gefunden! jetzt starten?", MsgBoxStyle.YesNo Or _
MsgBoxStyle.Information) = MsgBoxResult.Yes) Then
Process.Start(path)
End If
Exit Sub
End If
End If
End If
End If
Loop
sr.Close()
MsgBox("sorry. keine übereinstimmung!")
End Sub 2. Wenn der Eintrag: RLW32.exe nicht in der registry nicht steht dann ist er auch nicht zu finden. brauchst ja nur mal die reg.dat mit notepad öffnen (dauert etwas) und dann mit STRG+F suchen. wenn np nichts findet dann hat sich das programm nicht in der reg eingetragen. dann wohl in einer ini datei. einfach mal ausführen aufrufen und "%systemroot%\win.ini" eingeben. dann schauen ob der eintrag vorhanden ist.
3. um welches prog handelt es sich denn genau?
4. suchen lassen ... ja, kann man ,machen .. das thema haben wir ja schon gehabt .. oder ??
gruss w|m |