Internetverknüpfungen
Das Internetverknüpfungsobjekt wird verwendet, um Desktopverknüpfungen mit Internetwebsites zu erstellen. Wie Verknüpfungen zu Elementen im Dateisystem nehmen Internetverknüpfungen die Form eines Symbols auf dem Desktop auf. Wenn der Benutzer auf das Symbol klickt, wird der Browser gestartet und zeigt die mit der Verknüpfung verknüpfte Website an.
Die folgenden Themen werden behandelt.
Erstellen von Internetverknüpfungen
Sie können eine Internetverknüpfung mithilfe eines WebBrowser-Steuerelements oder mit der URL der Seite erstellen.
Erstellen einer Internetverknüpfung über ein 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 Instanz des Internetverknüpfungsobjekts mit CoCreateInstance-mithilfe eines Klassenbezeichners (CLSID) von CLSID_InternetShortcut.
- Übergeben Sie den Zeiger an 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 speicherort erstellt, der in IPersistFile::Saveangegeben ist. Mit diesem Speicherort kann das WebBrowser-Steuerelement den Zustand wiederherstellen, der die Aufgabe zum Laden der richtigen Dokumente in Framesets umfasst.
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 eine Verknüpfung herstellen möchten.
- Erstellen Sie eine Instanz des Internetverknüpfungsobjekts mit CoCreateInstance-mithilfe einer CLSID von CLSID_InternetShortcut.
- 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 Den 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 Eigenschafts-ID übergeben.
Mit Version 4.70 oder höher von Shell32.dllkönnen Sie auch die IPropertySetStorage Schnittstelle abrufen, indem Sie IShellFolder::BindToStorage mit dem pidl Parameter aufrufen, der auf den Parameter festgelegt ist. URL-Datei und der Parameter, der auf IID_IPropertySetStorage festgelegt ist.
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 Tastenkombination 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 | Neuerungen |
PID_IS_AUTHOR | VT_LPWSTR | Verfasser |
PID_IS_DESCRIPTION | VT_LPWSTR | Beschreibungstext der Website |
PID_IS_COMMENT | VT_LPWSTR | Kommentar vom Benutzer kommentiert |
PID_IS_ROAMED | VT_BOOL | True, wenn die Verknüpfung zum ersten Mal übertragen wird |
Die folgenden Eigenschaften-IDs können für FMTID_InternetSite angefordert werden.
PROPID | Variant-Typ | Beschreibung |
---|---|---|
PID_INTSITE_WHATSNEW | VT_LPWSTR | Neuerungen |
PID_INTSITE_AUTHOR | VT_LPWSTR | Verfasser |
PID_INTSITE_LASTVISIT | VT_FILETIME | Zeitpunkt, zu dem die Website zuletzt besucht wurde |
PID_INTSITE_LASTMOD | VT_FILETIME | Zeitpunkt der letzten Änderung der Website |
PID_INTSITE_VISITCOUNT | VT_UI4 | Anzahl der Benutzerbesuche |
PID_INTSITE_DESCRIPTION | VT_LPWSTR | Beschreibungstext der Website |
PID_INTSITE_COMMENT | VT_LPWSTR | Kommentar vom Benutzer kommentiert |
PID_INTSITE_FLAGS | VT_UI4 | Gibt die Verwendung von PIDISF_ Flags an (siehe unten) |
PID_INTSITE_CONTENTLEN | N/A | Zurzeit nicht unterstützt |
PID_INTSITE_CONTENTCODE | N/A | Zurzeit nicht unterstützt |
PID_INTSITE_RECURSE | N/A | Zurzeit nicht unterstützt |
PID_INTSITE_WATCH | N/A | Zurzeit nicht unterstützt |
PID_INTSITE_SUBSCRIPTION | VT_UI8 | SUBSCRIPTIONCOOKIE-Wert für 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 | N/A | Zurzeit 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 sind die Internetwebsite-Flags aufgeführt.
Flagge | Beschreibung |
---|---|
PIDISF_RECENTLYCHANGED | Gibt an, dass eine Website kürzlich geändert wurde. |
PIDISF_CACHEDSTICKY | Zurzeit nicht unterstützt |
PIDISF_CACHEIMAGES | Zurzeit nicht unterstützt |
PIDISF_FOLLOWALLLINKS | Zurzeit 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, nachdem die Verarbeitung des Eintrags abgeschlossen ist. |
PIDISR_NEEDS_UPDATE | Dieser Cacheeintrag ist bereits auf dem lokalen Computer vorhanden, wurde jedoch durch Roaming aktualisiert. Legen Sie PIDISR_UP_TO_DATE fest, nachdem die Verarbeitung des Eintrags abgeschlossen ist. |
PIDISR_NEEDS_DELETE | Roaming hat festgestellt, dass dieser Cacheeintrag gelöscht werden soll. 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
- IContextMenu2
- IExtractIcon
- INewShortcutHook
- IShellExtInit-
- IShellLink-
- IShellPropSheetExt-
- IQueryInfo-
Funktionen
Es gibt mehrere Hilfsfunktionen, die mit dem Internetverknüpfungsobjekt verwendet werden können.
Hilfsfunktionen für Internetverknüpfungen