Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jetzt können Sie Benutzer programmgesteuert anfordern, Ihre Win32- oder WinUI-App an die Taskleiste anzuheften, ähnlich wie Sie Ihre App an das Startmenü anheften können. Und Sie können überprüfen, ob Ihre App derzeit angeheftet ist und ob die Taskleiste das Anheften zulässt.
Important
Erfordert das Fall Creators Update: Sie müssen das SDK 16299 als Ziel verwenden und Build 16299 oder höher ausführen, um die Taskleisten-APIs verwenden zu können.
Wichtige APIs: TaskbarManager-Klasse
Wann sollten Sie den Benutzer bitten, Ihre App an die Taskleiste anzuheften?
Mithilfe der TaskbarManager-Klasse können Sie den Benutzer bitten, Ihre App an die Taskleiste anzuheften. Der Benutzer muss dieser Anforderung zustimmen. Sie haben viel Aufwand in die Erstellung einer herausragenden App gesteckt, und jetzt haben Sie die Gelegenheit, den Benutzer zu bitten, sie an die Taskleiste anzuheften. Bevor wir uns jedoch mit dem Code beschäftigen, sollten Sie hier einige Dinge beachten, während Sie Ihre Erfahrung entwerfen:
- Erstellen Sie in Ihrer App eine nicht störende und leicht zu schließende UX mit einem eindeutigen Handlungsaufruf. Vermeiden Sie die Verwendung von Dialogfeldern und Flyouts für diesen Zweck. Es werden barrierefreie Anheftsymbole oder eine vergleichbare UX empfohlen. Dies ist aber nicht zwingend erforderlich.
- Stellen Sie sicher, dass Ihre App dem Benutzer einen Mehrwert bietet, bevor Sie ihn auffordern, sie anzuheften.
- Bitten Sie einen Benutzer nicht, Ihre App anzuheften, wenn die Kachel bereits angeheftet ist oder das Gerät dies nicht unterstützt. (In diesem Artikel wird erläutert, wie Sie ermitteln, ob das Anpinnen unterstützt wird.)
- Bitten Sie den Benutzer nicht wiederholt, Ihre App anzuheften (sie könnten verärgert werden).
- Rufen Sie die Pin-API nicht ohne explizite Benutzerinteraktion auf oder wenn Ihre App minimiert ist/nicht geöffnet ist. Ihre App muss sich im Vordergrund befinden, damit der Prozess funktioniert.
- Verwenden Sie keine Installationsprogramme, um die API aufzurufen.
Genehmigung des Features für eingeschränkten Zugriff (Limited Access Feature, LAF)
Important
Das Anheften in der Taskleiste ist ein Feature mit eingeschränktem Zugriff (siehe LimitedAccessFeatures-Klasse). Für weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das Anforderungsformular für LAF-Zugriffstoken.
1. Überprüfen, ob die erforderlichen APIs vorhanden sind
Win32
Wenn Sie TaskbarManager in Ihrer Win32-Desktop-App verwenden möchten, müssen Sie überprüfen, ob Unterstützung für Desktop-Apps vorhanden ist. Sie können nach der ITaskbarManagerDesktopAppSupportStatics-Markierungsschnittstelle in der TaskbarManager Aktivierungsfabrik suchen, um diese Überprüfung durchzuführen. Wenn diese Schnittstelle nicht verfügbar ist, können Sie TaskbarManager von Ihrer Desktop-App nicht verwenden.
if (winrt::try_get_activation_factory<winrt::Windows::UI::Shell::TaskbarManager, winrt::Windows::UI::Shell::ITaskbarManagerDesktopAppSupportStatics>())
{
// TaskbarManager desktop app support is available.
}
else
{
// TaskbarManager desktop app support is not available.
}
2. Überprüfen Sie, ob die Taskleiste vorhanden ist und ob sie das Anheften ermöglicht.
Windows-Apps können auf einer Vielzahl von Geräten ausgeführt werden. nicht alle unterstützen die Taskleiste. Derzeit unterstützen nur Desktopgeräte die Taskleiste. Darüber hinaus können Apps zum Anheften auffordern, obwohl es zu einem bestimmten Zeitpunkt nicht zulässig ist. Es wird empfohlen, Apps überprüfen zu lassen, ob Anheften zulässig ist, bevor die UX angezeigt wird, um Benutzer nicht unnötig zu verwirren.
Selbst wenn die Taskleiste verfügbar ist, kann eine Gruppenrichtlinie auf dem Computer des Benutzers das Anheften an der Taskleiste deaktivieren. Bevor Sie also versuchen, Ihre App an die Taskleiste anzuheften, sollten Sie überprüfen, ob dies unterstützt wird. Die TaskbarManager.IsPinningAllowed-Eigenschaft gibt true zurück, wenn die Taskleiste vorhanden ist und das Anheften zulässt.
// Check if taskbar allows pinning, apps may request pinning, but pinning may not be allowed at any given time. It is suggested that apps check whether pinning is allowed before a UX is surfaced in order to prevent confusing users.
bool isPinningAllowed = TaskbarManager.GetDefault().IsPinningAllowed;
Important
Es gibt auch Anforderungen, die zum Zeitpunkt des tatsächlichen Aufrufs erfüllt sein müssen, damit die PIN-Anforderung zulässig ist.
- Die App befindet sich im Vordergrund.
- Die App verfügt über einen Startmenüeintrag.
- Damit Benachrichtigungen angezeigt werden, muss der Benutzer Systembenachrichtigungen aktiviert haben. Es wird empfohlen, diese Anforderung für Benutzer innerhalb der App-Benutzeroberfläche anzuzeigen.
Diese Bedingungen führen nicht zu einer Ausnahme, wenn sie nicht erfüllt werden; die Pin-Anfrage wird lediglich abgelehnt.
IsPinningAllowed kann aufgerufen werden, um festzustellen, ob eine PIN-Anfrage zugelassen wird.
Note
Wenn Sie Ihre App nicht an die Taskleiste anheften, sondern nur herausfinden möchten, ob die Taskleiste verfügbar ist, verwenden Sie die TaskbarManager.IsSupported-Eigenschaft.
3. Überprüfen Sie, ob Ihre App derzeit an die Taskleiste angeheftet ist.
Offensichtlich gibt es keinen Sinn, den Benutzer dazu aufzufordern, die App an die Taskleiste anzuheften, wenn sie dort bereits angeheftet ist. Mit der TaskbarManager.IsCurrentAppPinnedAsync-Methode können Sie überprüfen, ob die App bereits an die Taskleiste angeheftet ist, bevor Sie den Benutzer darum bitten.
// Check whether your app is currently pinned
bool isPinned = await TaskbarManager.GetDefault().IsCurrentAppPinnedAsync();
if (isPinned)
{
// The app is already pinned--no point in asking to pin it again!
}
else
{
//The app is not pinned.
}
4. Anheften Der App
Wenn die Taskleiste angezeigt wird, das Anheften erlaubt ist und Ihre App derzeit nicht angeheftet ist, möchten Sie vielleicht einen diskreten Hinweis geben, um den Benutzern zu zeigen, dass sie Ihre App anheften können. Sie können beispielsweise ein Pinsymbol an einer beliebigen Stelle auf der Benutzeroberfläche anzeigen, auf die der Benutzer klicken kann.
Wenn der Benutzer auf Benutzeroberfläche mit dem Vorschlag zum Anheften klickt, würden Sie die TaskbarManager.RequestPinCurrentAppAsync-Methode aufrufen. Diese Methode zeigt ein Dialogfenster an, in dem der Benutzer aufgefordert wird, zu bestätigen, dass Ihre App an die Taskleiste angeheftet werden soll.
Important
Dies muss aus einem Vordergrund-UI-Thread aufgerufen werden, andernfalls wird eine Ausnahme ausgelöst.
// Request to be pinned to the taskbar.
bool isPinned = await TaskbarManager.GetDefault().RequestPinCurrentAppAsync();
Diese Methode gibt einen booleschen Wert zurück, der angibt, ob Ihre App jetzt an die Taskleiste fixiert ist. Wenn Ihre App bereits angeheftet wurde, gibt die Methode sofort true zurück, ohne dem Benutzer das Dialogfeld anzuzeigen. Wenn der Benutzer im Dialogfeld auf „“Nein“ klickt oder das Anheften der App an die Taskleiste nicht zulässig ist, wird die false-Methode zurückgegeben. Andernfalls hat der Benutzer auf „Ja“ geklickt, und die App wurde angeheftet, woraufhin die API true zurückgeben wird.
Resources
Windows developer