ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 26.01.2000

Diese Seite wurde zuletzt aktualisiert am 26.01.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Verknüpfung unter Dokumente

Zurück...


Anzeige

(-hg) mailto:hg_addtorecentdocs@aboutvb.de

Wenn ein Anwender eine mit Ihrer Anwendung verknüpfte Datei im Explorer öffnet, wird automatisch eine Verknüpfung zu dieser Datei im Dokumente-Ordner des Startmenüs (Recent) angelegt. Sie können diese Verknüpfung auch manuell über die API-Funktion MSDN Library - API SHAddToRecentDocsSHAddToRecentDocs anlegen lassen, etwa um für eine per Kommandozeile (MSDN Library - VB CommandCommand) an Ihre Anwendung übergebe Datei eine Verknüpfung im Dokumente-Ordner anzulegen.

Die API-Funktion kann zwar auch mit so genannten IDList-Referenzen umgehen, wie sie von einer ganzen Reihe von Shell-Funktionen erzeugt und verwendet werden. Daher muss ihr im ersten Parameter uFlags angegeben werden, ob der zweite Parameter eine solche IDList-Referenz oder einen String mit einem regulären Pfad enthält. Doch da Sie mit IDList-Referenzen nicht viel anfangen können, sorgt die Hilfs-Funktion AddToRecentDocs für die entsprechende Flag-Übergabe, nachdem Sie ihr den Dateinamen übergeben haben.

Die Datei muss übrigens nicht existieren - der String, den Sie übergeben, braucht lediglich wie eine gültige Pfadangabe auszusehen. Die Verknüpfung weist dennoch auf den angegebenen Pfadnamen (Sie können also auch die Datei erst später im angegebenen Ordner erzeugen). Als Arbeitsverzeichnis wird in der Verknüpfung der im Pfad angegebene Ordner gesetzt.

Private Declare Sub SHAddToRecentDocs Lib "shell32.dll" _
 (ByVal uFlags As Long, ByVal Path As String)

Public Sub AddToRecentDocs(Path As String)
  Const SHARD_PATHA = &H2&
  
  SHAddToRecentDocs SHARD_PATHA, Path
End Sub

Mit der Hilfs-Funktion AddToRecentDocs legen Sie im Dokumente-Order des Startmenüs eine Verknüpfung auf eine Datei an

Ebenfalls über die API-Funktion SHAddToRecentDocs können Sie den Dokumente-Ordner leeren. Da ihr dazu anstelle eines Pfad-Strings eine NULL-Referenz übergeben werden muss, benötigen wir hierfür eine separate Alias-Deklaration mit einer anderen Deklaration des zweiten Parameters. Die parameterlose Hilfs-Funktion ClearRecentDocs vereinfacht auch hier wieder den Aufruf.

Private Declare Sub SHClearRecentDocs Lib "shell32.dll" _
 Alias "SHAddToRecentDocs" (ByVal uFlags As Long, _
 ByVal Clear As Long)

Public Sub ClearRecentDocs()
  Const SHARD_PATHA = &H2&
  
  SHClearRecentDocs SHARD_PATHA, 0
End Sub

Mit der Hilfs-Funktion AddToRecentDocs leeren Sie den Dokumente-Order des Startmenüs

Den Pfad zum Dokumente-Ordner ermitteln Sie wie in "Standard-Ordner finden" beschrieben mit der FolderID spfRecent. Die schlichte Annahme C:\Windows\Recent ist nicht zuverlässig, da der Pfad vom Anwender/Administrator beliebig geändert werden kann (und Windows auch nicht immer in C:\Windows installiert zu sein braucht).

Wenn Sie unbedingt wollen, können Sie so auch auf einfachste Weise eine Verknüpfung zu einer Datei anlegen, anstelle sich mit komplizierten COM-Schnittstellen herumzuschlagen oder sich darauf verlassen zu müssen, dass das Windows-Scripting (WSH) installiert ist. Legen Sie einfach mit AddToRecentDocs eine Verknüpfung an, ermitteln Sie den tatsächlichen Pfad des Dokumente-Ordners und verschieben Sie sie aus diesem Ordner mit der MSDN Library - VB NameName-Anweisung in den gewünschten Ordner. Kleine, aber im Normalfall verschmerzbare Nachteile: Sie können weder das Arbeitsverzeichnis noch das Icon festlegen. Als Icon wird nämlich immer das zu der jeweiligen Datei-Erweiterung registrierte Icon verwendet.


Modul modAddToRecentDocs (modAddToRecentDocs.bas - ca. 0,7 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikel

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer