首页 > 解决方案 > 从通知中心 windows 10 中删除通知

问题描述

我一直在 Python3 中使用 win32api 创建一个支持 toast 通知的 Windows 10 应用程序。

我的应用程序已经有一个系统托盘图标,我正在使用以下代码添加 toast 通知

def show_toast(self,msg,title):
        flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE | win32gui.NIF_TIP
        nid = (self.hwnd, 0, flags, win32con.WM_USER + 20, self.hicon, 
            "SpotiFind")
        win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, (self.hwnd, 0, 
            win32gui.NIF_INFO,
            win32con.WM_USER + 20,
            self.hicon, "Balloon Tooltip", msg, 200, title))        

一切正常,但通知停留在通知区域,我想自动删除它...根据 MSDN(https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/ns-shellapi -_notifyicondataa )

要删除气球通知,请指定 NIF_INFO 并通过 szInfo 提供一个空字符串。

所以我尝试了以下

def _destroy_toast(self):
    win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, (self.hwnd, 0, 
            win32gui.NIF_INFO,
            win32con.WM_USER + 20,
            self.hicon, "Balloon Tooltip", "", 200, ""))

这没什么...

提前致谢..

标签: pythonwinapiwindows-10toastwin32gui

解决方案


推荐阅读