如何在Windows通知气球中添加换行符?

时间:2013-04-08 03:07:51

标签: python windows notifications pywin32 system-tray

我有一个显示通知的托盘栏应用程序。这些是常规Windows通知,作为应用程序图标上的气球。

这是基本代码:

class TrayIconApplication:
    def __init__(self):
        [very long code to setup instance]

    def notify(self, message, title):
        Shell_NotifyIcon(NIM_MODIFY,
                         (self.hwnd, 0, NIF_INFO, WM_USER + 20,
                          self.hicon, 'Balloon Tooltip', message, 200,
                          title))

如何在邮件中添加换行符,使其显示在多行中?我已尝试过\n\r\n,但它们似乎不会影响文字。 \r alones显示为单个空格,\t按预期工作,但所有消息仍然只显示在一行中。

\r\n的组合,以及它们的重复,都没有产生任何结果。

3 个答案:

答案 0 :(得分:2)

我正在更改标题,而不是消息。我混合了参数的顺序,并显示带有标题但空消息的通知。并且标题行不能被打破,所以它忽略了我的所有尝试。

不同之处在于标题略大,呈蓝色,与关闭按钮显示在同一行。

一旦我切换参数,\n开始被接受为换行符并显示多行气球通知。

答案 1 :(得分:1)

你试过\ n \ r? (\ r \ n的反面)。我知道这听起来很愚蠢,但我使用Windows Unicode字符排序时遇到了意想不到的结果。如果所有其他方法都失败,请尝试0x0D,0x0A或反向,以查看它是如何响应的。

答案 2 :(得分:1)

我认为系统托盘图标的文本不允许显式换行符。如果文本太长,Windows将根据行宽度自动将文本移动到下一行。