Freigeben über


Internetverknüpfungen

Das Internetverknüpfungsobjekt wird verwendet, um Desktopverknüpfungen zu Internetwebsites zu erstellen. Wie Verknüpfungen zu Elementen im Dateisystem haben Internetverknüpfungen die Form eines Symbols auf dem Desktop. Wenn der Benutzer auf das Symbol klickt, wird der Browser gestartet und zeigt die Website an, die der Verknüpfung zugeordnet ist.

Die folgenden Themen werden erläutert.

Erstellen von Internetverknüpfungen

Sie können eine Internetverknüpfung erstellen, indem Sie ein WebBrowser-Steuerelement oder die URL der Seite verwenden.

Erstellen einer Internetverknüpfung aus einem WebBrowser-Steuerelement

Wenn Ihre Anwendung ein WebBrowser-Steuerelement hostet, können Sie das Internetverknüpfungsobjekt verwenden, um Verknüpfungen wie folgt zu erstellen.

  1. Erstellen Sie eine instance des Internetverknüpfungsobjekts mit CoCreateInstance, und verwenden Sie dabei einen Klassenbezeichner (CLSID) von CLSID_InternetShortcut.
  2. Übergeben Sie den Zeiger auf die IUnknown-Schnittstelle des WebBrowsers an das Internetverknüpfungsobjekt mit IObjectWithSite::SetSite.
  3. Rufen Sie die IPersistFile::Save-Methode des Internetverknüpfungsobjekts auf, wenn Sie eine Verknüpfung zu der Seite erstellen möchten, die vom WebBrowser-Steuerelement angezeigt wird.

Eine Verknüpfung wird an dem in IPersistFile::Save angegebenen Speicherort erstellt. Dieser Speicherort ermöglicht es dem WebBrowser-Steuerelement, seinen Zustand wiederherzustellen, einschließlich der Aufgabe, die richtigen Dokumente in Framesets zu laden.

Erstellen einer Internetverknüpfung aus einer URL

Sie können auch eine Internetverknüpfung erstellen, wenn Sie über die URL der Seite verfügen, mit der Sie einen Link herstellen möchten.

  1. Erstellen Sie eine instance des Internetverknüpfungsobjekts mit CoCreateInstance, indem Sie eine CLSID von CLSID_InternetShortcut verwenden.
  2. Verwenden Sie die IUniformResourceLocator::SetURL-Methode , um die URL in der Verknüpfung festzulegen.
  3. Verwenden Sie die IPersistFile::Save-Methode, um die Verknüpfungsdatei an einem gewünschten Speicherort zu speichern.

Zugreifen auf Eigenschaftenspeicher

Das Internetverknüpfungsobjekt enthält mehrere Eigenschaften, auf die Sie über die IPropertySetStorage-Schnittstelle des Objekts mit dem folgenden Verfahren zugreifen können.

  1. Rufen Sie die IPropertySetStorage-Schnittstelle ab, indem Sie QueryInterface mit IID_IPropertySetStorage aufrufen.
  2. Greifen Sie auf den Speicher der Internetverknüpfungseigenschaft zu, indem Sie IPropertySetStorage::Open mit FMTID_Intshcut oder FMTID_InternetSite aufrufen, um die IPropertyStorage-Schnittstelle abzurufen.
  3. Lesen Sie die Eigenschaftenspeicherinformationen mit IPropertyStorage::ReadMultiple , indem Sie die entsprechende Eigenschaften-ID übergeben.

Ab Version 4.70 von Shell32.dll können Sie die IPropertySetStorage-Schnittstelle auch abrufen, indem Sie IShellFolder::BindToStorage aufrufen, wobei der pidl-Parameter auf festgelegt ist. URL-Datei und der riid-Parameter auf IID_IPropertySetStorage festgelegt.

Die folgenden Eigenschaften-IDs können für FMTID_Intshcut angefordert werden.

PROPID Variant-Typ BESCHREIBUNG
PID_IS_URL VT_LPWSTR URL, zu der die Verknüpfung führt
PID_IS_NAME VT_LPWSTR Name der Internetverknüpfung
PID_IS_WORKINGDIR VT_LPWSTR Arbeitsverzeichnis für die Verknüpfung
PID_IS_HOTKEY VT_UI2 Hotkey für die Verknüpfung
PID_IS_SHOWCMD VT_I4 Befehl für Verknüpfung anzeigen
PID_IS_ICONINDEX VT_I4 Index des Symbols
PID_IS_ICONFILE VT_LPWSTR Datei, die das Symbol enthält
PID_IS_WHATSNEW VT_LPWSTR What's New text
PID_IS_AUTHOR VT_LPWSTR Autor
PID_IS_DESCRIPTION VT_LPWSTR Beschreibungstext der Website
PID_IS_COMMENT VT_LPWSTR Kommentierter Benutzerkommentar
PID_IS_ROAMED VT_BOOL True, wenn die Verknüpfung zum ersten Mal verschoben wird

 

Die folgenden Eigenschaften-IDs können für FMTID_InternetSite angefordert werden.

PROPID Variant-Typ BESCHREIBUNG
PID_INTSITE_WHATSNEW VT_LPWSTR What's New text
PID_INTSITE_AUTHOR VT_LPWSTR Autor
PID_INTSITE_LASTVISIT VT_FILETIME Zeitpunkt des letzten Besuchs der Website
PID_INTSITE_LASTMOD VT_FILETIME Zeitpunkt der letzten Änderung der Website
PID_INTSITE_VISITCOUNT VT_UI4 Anzahl der Besuche durch den Benutzer
PID_INTSITE_DESCRIPTION VT_LPWSTR Beschreibungstext der Website
PID_INTSITE_COMMENT VT_LPWSTR Benutzerkommentar mit Anmerkungen
PID_INTSITE_FLAGS VT_UI4 Gibt die Verwendung von PIDISF_ Flags an (siehe unten)
PID_INTSITE_CONTENTLEN Derzeit nicht unterstützt
PID_INTSITE_CONTENTCODE Derzeit nicht unterstützt
PID_INTSITE_RECURSE Derzeit nicht unterstützt
PID_INTSITE_WATCH Derzeit nicht unterstützt
PID_INTSITE_SUBSCRIPTION VT_UI8 SUBSCRIPTIONCOOKIE-Wert für den Abonnement-Manager
PID_INTSITE_URL VT_LPWSTR URL, zu der die Verknüpfung führt
PID_INTSITE_TITLE VT_LPWSTR Titel
PID_INTSITE_CODEPAGE VT_UI4 Codepage des Dokuments
PID_INTSITE_TRACKING Derzeit nicht unterstützt
PID_INTSITE_ICONINDEX VT_I4 Index des Symbols
PID_INTSITE_ICONFILE VT_LPWSTR Datei, die das Symbol enthält
PID_INTSITE_ROAMED VT_UI4 Der Eintrag wurde aufgrund des Roamings hinzugefügt.

 

Im Folgenden werden die Websiteflags aufgeführt.

Flag Beschreibung
PIDISF_RECENTLYCHANGED Gibt an, dass eine Website kürzlich geändert wurde.
PIDISF_CACHEDSTICKY Derzeit nicht unterstützt
PIDISF_CACHEIMAGES Derzeit nicht unterstützt
PIDISF_FOLLOWALLLINKS Derzeit nicht unterstützt

 

Die folgenden Werte werden für den Internetroamingverlauf verwendet.

Wert von PID_INTSITE_ROAMED BESCHREIBUNG
Wert nicht festgelegt oder PIDISR_UP_TO_DATE Dieser Cacheeintrag wurde nicht durch Roaming geändert.
PIDISR_NEEDS_ADD Dieser Cacheeintrag wurde dem Cache durch Roaming hinzugefügt. Legen Sie PIDISR_UP_TO_DATE fest, sobald die Verarbeitung des Eintrags abgeschlossen ist.
PIDISR_NEEDS_UPDATE Dieser Cacheeintrag war bereits auf dem lokalen Computer vorhanden, wurde aber durch Roaming aktualisiert. Legen Sie PIDISR_UP_TO_DATE fest, sobald die Verarbeitung des Eintrags abgeschlossen ist.
PIDISR_NEEDS_DELETE Roaming hat erkannt, dass dieser Cacheeintrag gelöscht werden sollte. Beispielsweise kann der Benutzer seinen Browserverlauf gelöscht haben. Löschen Sie den Eintrag mithilfe von DeleteUrlCacheEntry.

 

Schnittstellen

Das Internetverknüpfungsobjekt macht eine Reihe von Schnittstellen verfügbar.

OLE-Schnittstellen

Shellschnittstellen

Functions

Es gibt mehrere Hilfsfunktionen, die mit dem Internetverknüpfungsobjekt verwendet werden können.

Funktionen des Internetverknüpfungs-Hilfsprogramms