python win32gui使用_Python win32gui.PumpMessages方法代码示例

# 需要导入模块: import win32gui [as 别名]

# 或者: from win32gui import PumpMessages [as 别名]

def __init__(self,

icon,

hover_text,

menu_options,

on_quit=None,

default_menu_index=None,

window_class_name=None, ):

self.logger = logging.getLogger("root.SysIcon")

self.icon = icon

self.hover_text = hover_text

self.on_quit = on_quit

menu_options = menu_options + (('Quit', None, self.QUIT),)

self._next_action_id = self.FIRST_ID

self.menu_actions_by_id = set()

self.menu_options = self._add_ids_to_menu_options(list(menu_options))

self.menu_actions_by_id = dict(self.menu_actions_by_id)

del self._next_action_id

self.default_menu_index = (default_menu_index or 0)

self.window_class_name = window_class_name or "SysTrayIconPy"

message_map = {win32gui.RegisterWindowMessage("TaskbarCreated"): self.restart,

win32con.WM_DESTROY: self.destroy,

win32con.WM_COMMAND: self.command,

win32con.WM_USER + 20: self.notify, }

# Register the Window class.

window_class = win32gui.WNDCLASS()

hinst = window_class.hInstance = win32gui.GetModuleHandle(None)

window_class.lpszClassName = self.window_class_name

window_class.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW;

window_class.hCursor = win32gui.LoadCursor(0, win32con.IDC_ARROW)

window_class.hbrBackground = win32con.COLOR_WINDOW

window_class.lpfnWndProc = message_map # could also specify a wndproc.

classAtom = win32gui.RegisterClass(window_class)

# Create the Window.

style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU

self.hwnd = win32gui.CreateWindow(classAtom,

self.window_class_name,

style,

0,

0,

win32con.CW_USEDEFAULT,

win32con.CW_USEDEFAULT,

0,

0,

hinst,

None)

win32gui.UpdateWindow(self.hwnd)

self.notify_id = None

self.refresh_icon()

win32gui.PumpMessages()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值