我一直在使用win10toast library(我正在尝试修改的 init 文件的链接)一段时间了,我有一个问题:
我如何使用win32gui,win32api,win32con libs修改模块以使用两个按钮like this进行Toast通知?
我一直在使用初始化代码,尝试在第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)
....
但它不起作用the way I want to('1','2' Toast通知应该有按钮OK,而不是在单独的窗口中显示。)
我联系了该模块的作者,他不知道该怎么做。我还在尝试学习python,我对 win32api 了解不多。有提示吗?谢谢!
答案 0 :(得分:0)
这确实很旧,您可能已经解决了,但我很确定您的方向正确,我在python的win32gui库中进行了挖掘,当我查看参数时,第一个参数需要一个unicode文字字符串,而真正贴在我身上的词是说“假定的unicode”,我相信我们可以通过将其传递为一个unicode字符串文字,如下u"String"
来避免这种假设。不知何故,我觉得这里的父母与子女的关系也会引起问题,当我发现更多问题时,该信息就会更新。
需要在逻辑上划分其主窗口的应用程序应 在主窗口的窗口过程中执行此操作,而不要使用 子窗口。
我不太了解如何实现此目标,但是我敢肯定有办法。