Hallo,
ich habe den unten stehenden Quell Code, dieser sucht in einen Ordner (C:\) Verknüpfungen ab. Der Namen der Verknüpfung, die gesucht werden soll, wird in einer Textbox eingeben. das Erfolgreiche Suchergebnis in einer Listbox angezeigt.
Nun mein Problem, der Name der Verknüpfung muss 100% richtig geschrieben werden. Gibt es die Möglichkeit das zu Entschärfen, kann bei Eingabe der ersten Buchstaben oder bei fast richtiger Eingabe des Namen, eine Auswahl in der Listbox angezeigt werden?. Vergleichbar wie bei der Suche im Suchfeld im Datei Explorer.
ich habe den unten stehenden Quell Code, dieser sucht in einen Ordner (C:\) Verknüpfungen ab. Der Namen der Verknüpfung, die gesucht werden soll, wird in einer Textbox eingeben. das Erfolgreiche Suchergebnis in einer Listbox angezeigt.
Nun mein Problem, der Name der Verknüpfung muss 100% richtig geschrieben werden. Gibt es die Möglichkeit das zu Entschärfen, kann bei Eingabe der ersten Buchstaben oder bei fast richtiger Eingabe des Namen, eine Auswahl in der Listbox angezeigt werden?. Vergleichbar wie bei der Suche im Suchfeld im Datei Explorer.
VB.NET-Quellcode
- Public Class Form1
- Const BASEFOLDER = "C:"
- Dim objShell As Object = CreateObject("Wscript.Shell")
- Dim foundFiles As Hashtable
- Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
- foundFiles = New Hashtable
- lbResults.Items.Clear()
- btnSearch.Enabled = False
- SearchFiles(txtSearch.Text, BASEFOLDER, foundFiles)
- btnSearch.Enabled = True
- If foundFiles.Count > 0 Then
- For Each itm As String In foundFiles.Keys
- lbResults.Items.Add(itm)
- Next
- Else
- MsgBox("Es wurden keine 'Links' mit diesem Namen gefunden!", vbExclamation)
- End If
- End Sub
- Sub SearchFiles(strText As String, strPath As String, ByRef col As Hashtable)
- Try
- If Directory.Exists(strPath) Then
- Dim files As String() = Directory.GetFiles(strPath, strText & , SearchOption.AllDirectories)
- If files.Count > 0 Then
- For Each f As String In files
- col.Add(f, objShell.CreateShortCut(f).TargetPath)
- Next
- End If
- End If
- Catch ex As Exception
- Process.Start(foundFiles.Item(lbResults.SelectedItem))
- Catch ex As Exception
- MsgBox(ex.Message, vbCritical)
- End Try
- End If
- End Sub
ich bin ein Anfänger, bitte habt Verständnis für meine Unwissenheit und eventuelle schlecht gestellte Fragen
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „knuepel“ ()