当我尝试使用 winrt 发出通知时,出现错误

我正在尝试让 winRT 发送通知。我尝试这样做来发出通知:


import winrt.windows.ui.notifications as notifications

import winrt.windows.data.xml.dom as dom


#create notifier

nManager = notifications.ToastNotificationManager

notifier = nManager.create_toast_notifier();


#define your notification as string

tString = """

<toast>

    <visual>

        <binding template='ToastGeneric'>

            <text>Sample toast</text>

            <text>Sample content</text>

        </binding>

    </visual>

</toast>

"""


#convert notification to an XmlDocument

xDoc = dom.XmlDocument()

xDoc.load_xml(tString)


#display notification

notifier.show(notifications.ToastNotification(xDoc))

然而,当我尝试运行它时,它返回此错误。


    notifier = notifications.ToastNotificationManager.create_toast_notifier()

RuntimeError: Element not found.

我的系统满足winrt的要求


Windows 10, October 2018 Update or later.

Python for Windows, version 3.7 or later

pip, version 19 or later

我该如何修复这个错误?我无法使用其他模块,因为 winrt 是唯一一个(据我所知),您可以在通知上创建 ui 元素,例如按钮。


胡说叔叔
浏览 102回答 3
3回答

慕盖茨4494581

这个方法对我有用Python 3.9.1并且pip 21.0.1打开 PowerShell输入以下命令,get-StartApps它会返回Name和AppIDName            AppID                                           ----            ----- Calculator      Microsoft.WindowsCalculator_8wekyb3d8bbwe!App这可以很方便get-StartApps | Where-Object {$_.Name -like '*Application Name*'}get-StartApps | Where-Object {$_.Name -like '*Python*'}复制/AppID粘贴到create_toast_notifier("Microsoft.WindowsCalculator_8wekyb3d8bbwe!App")例子:#create notifiernManager = notifications.ToastNotificationManager notifier = nManager.create_toast_notifier("Microsoft.WindowsCalculator_8wekyb3d8bbwe!App");

慕斯王

我刚刚解决了同样的问题,消除了错误,但通知没有显示。例如:notifier = nManager.create_toast_notifier("C:\\...\\Programs\\Python\\Python38\\python.exe")

慕码人2483693

发生异常是因为您需要提供一个applicationID像create_toast_notifier()这样的例子create_toast_notifier("MyApplicationId")。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python