当前位置: 首页 > 工具软件 > gui.cs > 使用案例 >

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

田成仁
2023-12-01

# 需要导入模块: 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()

 类似资料: