繁体   English   中英

如何使用 win32api 创建 Toast 通知(带按钮!)?

[英]How to create a Toast Notification (with Buttons!) using win32api?

我一直在使用win10toast 库(链接到我试图修改的初始化文件)一段时间,我有一个问题:

我怎么能修改模块有两个按钮有点Toast通知这样与win32gui,WIN32API,win32con库?

我一直在玩 init 代码,试图在第 83 行附近添加一个孩子到self.hwnd = CreateWindow(...)像这样:

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 通知应该有按钮确定,而不是在单独的窗口中显示)。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM