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.
- Erstellen Sie eine instance des Internetverknüpfungsobjekts mit CoCreateInstance, und verwenden Sie dabei einen Klassenbezeichner (CLSID) von CLSID_InternetShortcut.
- Übergeben Sie den Zeiger auf die IUnknown-Schnittstelle des WebBrowsers an das Internetverknüpfungsobjekt mit IObjectWithSite::SetSite.
- 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.
- Erstellen Sie eine instance des Internetverknüpfungsobjekts mit CoCreateInstance, indem Sie eine CLSID von CLSID_InternetShortcut verwenden.
- Verwenden Sie die IUniformResourceLocator::SetURL-Methode , um die URL in der Verknüpfung festzulegen.
- 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.
- Rufen Sie die IPropertySetStorage-Schnittstelle ab, indem Sie QueryInterface mit IID_IPropertySetStorage aufrufen.
- 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.
- 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