Beispiel #1
0
    def show_menu(self):
        menu = win32gui.CreatePopupMenu()
        self.create_menu(menu, self.menu_options)

        pos = win32gui.GetCursorPos()
        # See http://msdn.microsoft.com/library/default.asp?url=/library/
        # en-us/winui/menus_0hdi.asp
        win32gui.SetForegroundWindow(self.hwnd)
        win32gui.TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1],
                                0, self.hwnd, None)
        win32gui.PostMessage(self.hwnd, win32con.WM_NULL, 0, 0)
Beispiel #2
0
 def OnTaskbarNotify(self, hwnd, msg, wparam, lparam):
     if lparam == win32con.WM_LBUTTONUP or lparam == win32con.WM_RBUTTONUP:  #if left or right click
         #print "Click."
         menu = gui.CreatePopupMenu()
         #gui.AppendMenu( menu, win32con.MF_STRING, 1024, "Generate balloon") # this is where you define the actions
         gui.AppendMenu(menu, win32con.MF_STRING, 1024,
                        "Exit")  # for the right-click menu
         pos = gui.GetCursorPos()
         gui.SetForegroundWindow(self.hwnd)
         gui.TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0,
                            self.hwnd, None)
         gui.PostMessage(self.hwnd, win32con.WM_NULL, 0, 0)
         return 1
Beispiel #3
0
    def show_menu(self):
        menu = win32gui.CreatePopupMenu()
        self.create_menu(menu, self.menu_options)
        #win32gui.SetMenuDefaultItem(menu, 1000, 0)

        try:
            pos = win32gui.GetCursorPos()
            # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp
            win32gui.SetForegroundWindow(self.hwnd)
            win32gui.TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0],
                                    pos[1], 0, self.hwnd, None)
            win32gui.PostMessage(self.hwnd, win32con.WM_NULL, 0, 0)
        except pywintypes.error:
            # Weird PyWin/win32gui bug, just ignore it for now
            logging.debug('win32gui problem, cannot show SysTray menu')
Beispiel #4
0
    def show_menu(self):
        hmenu = win32gui.CreatePopupMenu()
        self.create_menu(hmenu)

        pos = win32gui.GetCursorPos()
        # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp
        try:
            win32gui.SetForegroundWindow(self.hwnd)
        except Exception as exc:
            logger.debug(exc, exc_info=True)
            return
        win32gui.TrackPopupMenu(hmenu, win32con.TPM_LEFTALIGN, pos[0], pos[1],
                                0, self.hwnd, None)
        win32gui.PostMessage(self.hwnd, win32con.WM_NULL, 0,
                             0)  # send a null message, seems useless
Beispiel #5
0
    def show_menu(self):
        menu = win32gui.CreatePopupMenu()
        count = 0

        for count, (option_text, option_id) in enumerate(self.menu_entries):
            win32gui.AppendMenu(
                menu,
                win32con.MF_STRING | win32con.MF_GRAYED | win32con.MF_DISABLED,
                option_id, option_text)

        win32gui.InsertMenu(menu, count + 1, win32con.MF_BYPOSITION,
                            win32con.MF_SEPARATOR, None)
        win32gui.InsertMenuItem(
            menu, count + 2, 1,
            win32gui_struct.PackMENUITEMINFO(
                text="Quit", wID=0, hbmpItem=win32con.HBMMENU_MBAR_CLOSE)[0])

        pos = win32gui.GetCursorPos()
        # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp
        win32gui.SetForegroundWindow(self.hwnd)
        win32gui.TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1],
                                0, self.hwnd, None)
        win32gui.PostMessage(self.hwnd, win32con.WM_NULL, 0, 0)
Beispiel #6
0
 def show_menu(self):
     menu_options = self.menu_cb()
     menu_options = menu_options + [('Quit', None, self.QUIT),]
     self._next_action_id = self.FIRST_ID
     self.menu_actions_by_id = set()
     menu_options = self._add_ids_to_menu_options(menu_options)
     self.menu_actions_by_id = dict(self.menu_actions_by_id)
     del self._next_action_id
     menu = win32gui.CreatePopupMenu()
     self.create_menu(menu, menu_options)
     #win32gui.SetMenuDefaultItem(menu, 1000, 0)
     
     pos = win32gui.GetCursorPos()
     # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp
     win32gui.SetForegroundWindow(self.hwnd)
     win32gui.TrackPopupMenu(menu,
                             win32con.TPM_LEFTALIGN,
                             pos[0],
                             pos[1],
                             0,
                             self.hwnd,
                             None)
     win32gui.PostMessage(self.hwnd, win32con.WM_NULL, 0, 0)
Beispiel #7
0
 def switch_icon(self, icon):
     self.icon = icon
     win32gui.PostMessage(self.hwnd, win32con.WM_USER + 21, 0, 0)
Beispiel #8
0
 def stop(self):
     win32gui.PostMessage(self.hwnd, win32con.WM_DESTROY, 0, 0)
Beispiel #9
0
 def refresh_icon(self):
     if self.hwnd:
         win32gui.PostMessage(self.hwnd, win32con.WM_USER + 21, 0, 0)