Всплывающее уведомление Windows выдает 0x80070005 (E_ACCESSDENIED) при запуске от имени администратора

#c# #winforms #windows-10 #windows-community-toolkit

#c# #winforms #windows-10 #windows-community-toolkit

Вопрос:

Я показываю всплывающее уведомление Windows 10 в моем приложении c # netcore 3.0 со следующим кодом, использующимhttps://www.nuget.org/packages/Microsoft.Toolkit.Uwp.Notifications/:

 const string _appId = "Windows.SystemToast.Explorer";

var toastContent = new ToastContent
{
    Visual = new ToastVisual
    {
        BindingGeneric = new ToastBindingGeneric
        {
            Children =
            {
                new AdaptiveText
                {
                    Text = "Hello",
                },

                new AdaptiveText
                {
                    Text = "World",
                },
            },
        },
    },
};

var doc = new XmlDocument();
doc.LoadXml(toastContent.GetContent());
var toast = new ToastNotification(doc);
ToastNotificationManager.CreateToastNotifier(_appId).Show(toast);
  

Это работает нормально, если я запускаю приложение в обычном режиме:

введите описание изображения здесь

При запуске приложения от имени администратора (щелкните правой кнопкой мыши exe: запуск от имени администратора) всплывающее уведомление не отображается и выдается ошибка: 0x80070005 (E_ACCESSDENIED)

Как можно отображать всплывающие уведомления в приложениях, запускаемых от имени администратора?

Комментарии:

1. Есть ли у вас надлежащие разрешения для запуска приложения от имени администратора? (Глупый вопрос, немного подумал, что не помешало бы просто перепроверить) 🙂

2. @Symon: Да, я вошел в систему как обычный пользователь и щелкаю правой кнопкой мыши, чтобы запустить его от имени моей другой учетной записи пользователя с правами администратора.