首页 > 解决方案 > 如何使用 win32api 创建 Toast 通知(带有按钮!)?

问题描述

我一直在使用win10toast 库(链接到我正在尝试修改的init文件)有一段时间了,我有一个问题:

我怎样才能修改模块以使用 win32gui、win32api、win32con 库有两个按钮的 toast通知

我一直在玩初始化代码,试图self.hwnd = CreateWindow(...)像这样在第 83 行左右添加一个孩子:

class ToastNotifier(object):

....

    style = WS_CLIPCHILDREN | WS_VISIBLE | WS_OVERLAPPED | WS_SYSMENU
            styleButton = WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON

            self.hwnd = CreateWindow(self.classAtom, "Taskbar", style,
                                     0, 0, CW_USEDEFAULT,
                                     CW_USEDEFAULT,
                                     0, 0, self.hinst, None)

           """ self.hwndButton = CreateWindow("Button", "OK", styleButton,
                                     0, 0, CW_USEDEFAULT,
                                     CW_USEDEFAULT,
                                     self.hwnd, None, 0, None)"""

            self.hwndButton = CreateWindow("Button",  # Predefined class; Unicode assumed
                                        "OK",      # Button text
                                        styleButton,  # Styles
                                        0,         #// x position
                                        0,         #// y position
                                        35,        #// Button width
                                        35,        #// Button height
                                        self.hwnd,     #// Parent window
                                        None,       #// No menu.
                                        0,
                                        None)

....

但它不能按我想要的方式工作('1'、'2' Toast 通知应该有按钮 OK,而不是在单独的窗口上显示它)。

我联系了模块的作者,因为他不知道该怎么做。我还在努力学习python,对win32api了解不多。任何提示?谢谢!

标签: pythonwindowstoastpywin32win32gui

解决方案


这真的很老了,你可能已经解决了,但我很确定你在正确的轨道上,我研究了 python 的 win32gui 库,当我查看参数时,第一个参数需要一个 unicode文字字符串,而真正让我印象深刻的词是它说“假设 unicode”,我相信我们可以通过如下传递一个 unicode 字符串文字来避免这种假设u"String"。不知何故,我觉得这里的父子关系也引起了问题,当我发现更多时会更新。

需要在逻辑上划分其主窗口的应用程序应该在主窗口的窗口过程中进行,而不是使用子窗口。

我不太了解这是如何实现的,但我相信有办法。


推荐阅读