to delete from the shell's recent file list, get the location of the folder via ShGetFolderLocation (CSIDL_RECENT) API, then delete all relevant link files in that directory using VB's kill command.
In VB kann die Dokumentenliste auch per Api-Aufruf gelöscht werden, ohne die Dateien selbst anrühren zu müssen.
Guttenb..äh..Copy&Paste von VBArchiv.net (irgendwie gibts ein Problem mit dem VB-Kommentarzeichen)
Private Declare Sub SHAddToRecentDocs Lib "shell32.dll" ( _ ByVal uFlags As Long, _ ByVal pv As Any)
'SHAddToRecentDocs uFlags-Konstanten Private Const DELETE_RECENTDOCS = 0 ' Löscht die Dokumente Private Const SHARD_PIDL = 1 ' Die übergebene Datei ist eine 'ITEMIDLIST-Struktur Private Const SHARD_PATH = 2 ' Die übergebene Datei ist ein Dateipfad vom Typ String
' Eine Datei in die Dokumentenliste einfügen Private Sub Command1_Click() Call SHAddToRecentDocs(SHARD_PATH, "c:\windows\media\tada.wav") End Sub
' Dokumentenliste löschen Private Sub Command2_Click() Call SHAddToRecentDocs(DELETE_RECENTDOCS, 0&) End Sub