擅长:python、mysql、java
<p>正如@InAFlash提到的,classAtom没有返回任何内容,原因是已经有一个注册的通知。搞乱了源代码,我向except块添加了一个异常打印,如下所示:</p>
<pre><code>try:
self.classAtom = RegisterClass(self.wc)
except Exception as e:
print(e)
</code></pre>
<p>我在线程中运行我的通知,当代码遇到这一点时,它会打印出以下错误:</p>
^{pr2}$
<p>我想我找到了一个解决方案,尽管它有点脱离了“垃圾邮件”通知的想法。通过向<code>self.wc.lpszClassName</code>变量添加<code>title</code>,它使它成为一个不同的通知。所以总体来说,代码应该是这样的:</p>
<pre><code>self.wc = WNDCLASS()
self.hinst = self.wc.hInstance = GetModuleHandle(None)
self.wc.lpszClassName = str(f"PythonTaskbar{title}") # must be a string
self.wc.lpfnWndProc = message_map # could also specify a wndproc.
try:
self.classAtom = RegisterClass(self.wc)
except Exception as e:
print(e)
</code></pre>
<p>这个解决方案适用于我的场景,所以不确定这是否是最好的解决方案,但我会继续使用它。在</p>
<p>希望这有帮助。在</p>