def file_browse(self, mode, parent=None, *, title=None, types, file=None): filter = list() for (label, exts) in types: exts = ";".join("*." + ext for ext in exts) filter.append("{label} ({exts})\0" "{exts}\0".format_map(locals())) filter.append("All (*)\0" "*\0") (_, defext) = types[0] mode = dict(open=GetOpenFileNameW, save=GetSaveFileNameW)[mode] try: (file, _, _) = mode( Filter="".join(filter), File=file, Title=title, Flags=OFN_HIDEREADONLY | OFN_EXPLORER | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR, DefExt=defext[0], ) except win32gui.error as err: if err.winerror: raise file = None if not self.visible: PostQuitMessage(0) file = None return file
def quit(self): """ Ends notification event loop. :returns: Nothing. """ DestroyWindow(self._window) UnregisterClass(self._window_class.lpszClassName, None) PostQuitMessage(0) self.logger.info("NotificationCenter is going to quit.")
def _hhook(event): global cont if event.ScanCode == 0x3F: cont = not cont print(f"Swapped: {event.Key} pressed") elif event.ScanCode == 0x3E or killSelf: cont = None print(f"Stopped: {event.Key} pressed") PostQuitMessage(0) hm.UnhookKeyboard() return True
def run(self): self.BuildWindow() self.started = True while self.started: PumpWaitingMessages() if self.do_update: SendMessage(self.progbar, PBM_SETPOS, int(self.position % self.max_val), 0) percentage = int(round(100.0 * self.position / self.max_val)) SendMessage(self.dialog, WM_SETTEXT, 0, self.title + ' (%d%%)' % percentage) # SendMessage(self.progbar, PBM_STEPIT, 0, 0) self.do_update = False sleep(0.1) PostQuitMessage(0) DestroyWindow(self.dialog)
def OnDestroy(self, hwnd, msg, wparam, lparam): nid = (self.hwnd, 0) Shell_NotifyIcon(NIM_DELETE, nid) PostQuitMessage(0) # Terminate the app.
def shutdown(self): PostQuitMessage(0) self.hm.UnhookKeyboard()
def on_destroy(self, win, hwnd, msg, wparam, lparam): self.visible.remove(win) if not self.visible: PostQuitMessage(0)