【问题标题】:How to add pywin32 tray icon menu separator / divider?如何添加pywin32托盘图标菜单分隔符/分隔符?
【发布时间】:2018-04-15 01:48:07
【问题描述】:

基于这个基于 pywin32 的 script 我如何在托盘菜单中添加分隔符/分隔符 menu_options

我也可以在左键单击而不是右键单击时弹出菜单吗?

【问题讨论】:

    标签: python contextmenu pywin32 trayicon


    【解决方案1】:

    更改 notify 函数(从 URL 中的 #135 行开始):

    def notify(self, hwnd, msg, wparam, lparam):
        if lparam==win32con.WM_LBUTTONDBLCLK:
            self.execute_menu_option(self.default_menu_index + self.FIRST_ID)
        elif lparam==win32con.WM_RBUTTONUP:
            self.show_menu()
        elif lparam==win32con.WM_LBUTTONUP:
            pass
        return True
    

    到:

    def notify(self, hwnd, msg, wparam, lparam):
        if lparam == win32con.WM_LBUTTONDBLCLK:
            self.execute_menu_option(self.default_menu_index + self.FIRST_ID)
        elif lparam in (win32con.WM_RBUTTONUP, win32con.WM_LBUTTONUP):
            self.show_menu()
        return True
    

    解释:

    • notify 是一个回调 函数,当消息发送到托盘控件时会自动执行,而不是在接收到 WM_LBUTTONUP(鼠标左键释放)消息,我们只是在接收到WM_RBUTTONUP(鼠标右键释放)时显示菜单

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    相关资源
    最近更新 更多