Python win32gui.NIF_INFO Examples

The following are 7 code examples of win32gui.NIF_INFO(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module win32gui , or try the search function .
Example #1
Source File: win32_toast.py    From servoshell with Mozilla Public License 2.0 6 votes vote down vote up
def balloon_tip(self, title, msg):
        style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
        hwnd = CreateWindow(self.classAtom, "Taskbar", style, 0, 0,
                            win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
                            0, 0, self.hinst, None)
        UpdateWindow(hwnd)

        hicon = LoadIcon(0, win32con.IDI_APPLICATION)

        nid = (hwnd, 0, NIF_ICON | NIF_MESSAGE | NIF_TIP, win32con.WM_USER + 20, hicon, 'Tooltip')
        Shell_NotifyIcon(NIM_ADD, nid)
        nid = (hwnd, 0, NIF_INFO, win32con.WM_USER + 20, hicon, 'Balloon Tooltip', msg, 200, title, NIIF_INFO)
        Shell_NotifyIcon(NIM_MODIFY, nid)

        DestroyWindow(hwnd) 
Example #2
Source File: winapi.py    From gui-o-matic with GNU Lesser General Public License v3.0 6 votes vote down vote up
def show_toast( self, title, baloon, timeout ):
        if self.small_icon:
            message = win32gui.NIM_MODIFY
            data = (self.window_handle,
                    0,
                    win32gui.NIF_INFO | win32gui.NIF_ICON | win32gui.NIF_MESSAGE | win32gui.NIF_TIP,
                    self._notify_event_id,
                    self.small_icon.handle,
                    self.text,
                    baloon,
                    int(timeout * 1000),
                    title)
            
            win32gui.Shell_NotifyIcon( message, data )
        else:
            print "Can't send popup without systray!" 
Example #3
Source File: recipe-334779.py    From code with MIT License 5 votes vote down vote up
def show_balloon(self, title, text, timeout=10, icon=win32gui.NIIF_NONE):
        """ Shows a balloon tooltip from the tray icon. """
        self._flags = self._flags | win32gui.NIF_INFO
        self._infotitle = title
        self._info = text
        self._timeout = timeout * 1000
        self._infoflags = icon
        win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, self._get_nid()) 
Example #4
Source File: __init__.py    From pyrexecd with MIT License 5 votes vote down vote up
def show_balloon(self, title, text, timeout=1):
        self.logger.info('show_balloon: %r, %r' % (title, text))
        win32gui.Shell_NotifyIcon(
            win32gui.NIM_MODIFY,
            (self.hwnd, 0, win32gui.NIF_INFO,
             0, 0, '', text, timeout, title, win32gui.NIIF_INFO))
        return 
Example #5
Source File: ToolTip.py    From BitTorrent with GNU General Public License v3.0 5 votes vote down vote up
def SetBalloonTip(hicon, title, msg):
    hwnd = find_traywindow_hwnd()
    id = 99 # always 99
    flags = win32gui.NIF_MESSAGE | win32gui.NIF_ICON | win32gui.NIF_INFO
    callbackmessage = WM_TRAYMESSAGE
    nid = _get_nid(hwnd, id, flags, callbackmessage, hicon, title, msg)
    try:
        win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
    except:
        pass 
Example #6
Source File: shell.py    From eavatar-me with Apache License 2.0 5 votes vote down vote up
def notify(self, message, title="Ava Message"):
        balloon_id = (self.shell.main_frame.hwnd,
                      0,
                      win32gui.NIF_INFO,
                      win32con.WM_USER + 20,
                      self.hicon,
                      self.hover_text,
                      title,
                      200,
                      message)
        win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, balloon_id) 
Example #7
Source File: __init__.py    From Windows-10-Toast-Notifications with MIT License 4 votes vote down vote up
def _show_toast(self, title, msg,
                    icon_path, duration):
        """Notification settings.

        :title: notification title
        :msg: notification message
        :icon_path: path to the .ico file to custom notification
        :duration: delay in seconds before notification self-destruction
        """
        message_map = {WM_DESTROY: self.on_destroy, }

        # Register the window class.
        self.wc = WNDCLASS()
        self.hinst = self.wc.hInstance = GetModuleHandle(None)
        self.wc.lpszClassName = str("PythonTaskbar")  # must be a string
        self.wc.lpfnWndProc = message_map  # could also specify a wndproc.
        try:
            self.classAtom = RegisterClass(self.wc)
        except:
            pass #not sure of this
        style = WS_OVERLAPPED | WS_SYSMENU
        self.hwnd = CreateWindow(self.classAtom, "Taskbar", style,
                                 0, 0, CW_USEDEFAULT,
                                 CW_USEDEFAULT,
                                 0, 0, self.hinst, None)
        UpdateWindow(self.hwnd)

        # icon
        if icon_path is not None:
            icon_path = path.realpath(icon_path)
        else:
            icon_path =  resource_filename(Requirement.parse("win10toast"), "win10toast/data/python.ico")
        icon_flags = LR_LOADFROMFILE | LR_DEFAULTSIZE
        try:
            hicon = LoadImage(self.hinst, icon_path,
                              IMAGE_ICON, 0, 0, icon_flags)
        except Exception as e:
            logging.error("Some trouble with the icon ({}): {}"
                          .format(icon_path, e))
            hicon = LoadIcon(0, IDI_APPLICATION)

        # Taskbar icon
        flags = NIF_ICON | NIF_MESSAGE | NIF_TIP
        nid = (self.hwnd, 0, flags, WM_USER + 20, hicon, "Tooltip")
        Shell_NotifyIcon(NIM_ADD, nid)
        Shell_NotifyIcon(NIM_MODIFY, (self.hwnd, 0, NIF_INFO,
                                      WM_USER + 20,
                                      hicon, "Balloon Tooltip", msg, 200,
                                      title))
        # take a rest then destroy
        sleep(duration)
        DestroyWindow(self.hwnd)
        UnregisterClass(self.wc.lpszClassName, None)
        return None