| 

.NET C# Java Javascript Exception

1
Wie kann ich aus meiner eigenen Anwendung heraus die im Startmenü angezeigte Dokumentenliste löschen?
14.03.2011
Bunnie 11 2
3 Antworten
0
Hier findet man folgenden Hinweis:
How to clear recent used document list from window through VB
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.
14.03.2011
Jürgen Luhr 7,1k 2 9
0
Hallo,
einfach alle Verknüpfungsdateien im entsprechenden Ordner löschen:
For Each f As String In IO.Directory.GetFiles(System.Environment.GetFolderPath(Environment.SpecialFolder.Recent), "*.lnk")
IO.File.Delete(f)
Next


Liebe Grüße, Tom
14.03.2011
Metal-Frog 946 1 7
So geht es mit .NET, aber Bunnie fragte nach einer VB-Lösung (siehe tags). Da sieht es nicht ganz so komfortabel aus ;o)
Jürgen Luhr 14.03.2011
Oh sorry, hab ich übersehen!
Metal-Frog 14.03.2011
0
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
14.03.2011
Jens Duczmal 2,6k 1 3 9
Jens Duczmal 2,6k 1 3 9

Stelle deine Windows-Frage jetzt!