python类Shell_NotifyIcon()的实例源码

taskbar_widget.py 文件源码 项目:spc 作者: whbrewer 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __createIcon(self):

        # try and use custom icon

        if self.iconPath and os.path.isfile(self.iconPath):
            hicon = self.__loadFromFile(self.iconPath)
        else:
            try:
                fp = 'tmp.ico'
                icFH = file(fp, 'wb')
                if self.serverState == self.EnumServerState.STOPPED:
                    icFH.write(base64.b64decode(self.__getIconStopped()))
                elif self.serverState == self.EnumServerState.RUNNING:
                    icFH.write(base64.b64decode(self.__getIconRunning()))
                icFH.close()
                hicon = self.__loadFromFile(fp)
                os.unlink(fp)
            except:
                print "Can't load web2py icons - using default"
                hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)

        flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE\
            | win32gui.NIF_TIP
        nid = (
            self.hwnd,
            0,
            flags,
            win32con.WM_USER + 20,
            hicon,
            'web2py Framework',
        )
        try:
            win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
        except:
            try:
                win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)
            except win32api.error:

                # This is common when windows is starting, and this code is hit
                # before the taskbar has been created.

                print 'Failed to add the taskbar icon - is explorer running?'

                # but keep running anyway - when explorer starts, we get the
taskbar_widget.py 文件源码 项目:Problematica-public 作者: TechMaz 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __createIcon(self):

        # try and use custom icon

        if self.iconPath and os.path.isfile(self.iconPath):
            hicon = self.__loadFromFile(self.iconPath)
        else:
            try:
                fp = 'tmp.ico'
                icFH = file(fp, 'wb')
                if self.serverState == self.EnumServerState.STOPPED:
                    icFH.write(base64.b64decode(self.__getIconStopped()))
                elif self.serverState == self.EnumServerState.RUNNING:
                    icFH.write(base64.b64decode(self.__getIconRunning()))
                icFH.close()
                hicon = self.__loadFromFile(fp)
                os.unlink(fp)
            except:
                print "Can't load web2py icons - using default"
                hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)

        flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE\
            | win32gui.NIF_TIP
        nid = (
            self.hwnd,
            0,
            flags,
            win32con.WM_USER + 20,
            hicon,
            'web2py Framework',
        )
        try:
            win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
        except:
            try:
                win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)
            except win32api.error:

                # This is common when windows is starting, and this code is hit
                # before the taskbar has been created.

                print 'Failed to add the taskbar icon - is explorer running?'

                # but keep running anyway - when explorer starts, we get the
taskbar_widget.py 文件源码 项目:rekall-agent-server 作者: rekall-innovations 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __createIcon(self):

        # try and use custom icon

        if self.iconPath and os.path.isfile(self.iconPath):
            hicon = self.__loadFromFile(self.iconPath)
        else:
            try:
                fp = 'tmp.ico'
                icFH = file(fp, 'wb')
                if self.serverState == self.EnumServerState.STOPPED:
                    icFH.write(base64.b64decode(self.__getIconStopped()))
                elif self.serverState == self.EnumServerState.RUNNING:
                    icFH.write(base64.b64decode(self.__getIconRunning()))
                icFH.close()
                hicon = self.__loadFromFile(fp)
                os.unlink(fp)
            except:
                print("Can't load web2py icons - using default")
                hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)

        flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE\
            | win32gui.NIF_TIP
        nid = (
            self.hwnd,
            0,
            flags,
            win32con.WM_USER + 20,
            hicon,
            'web2py Framework',
        )
        try:
            win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
        except:
            try:
                win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)
            except win32api.error:

                # This is common when windows is starting, and this code is hit
                # before the taskbar has been created.

                print('Failed to add the taskbar icon - is explorer running?')

                # but keep running anyway - when explorer starts, we get the
desktopmanager.py 文件源码 项目:remoteControlPPT 作者: htwenning 项目源码 文件源码 阅读 40 收藏 0 点赞 0 评论 0
def icon_wndproc(hwnd, msg, wp, lp):
    """ Window proc for the tray icons """
    if lp==win32con.WM_LBUTTONDOWN:
        ## popup menu won't disappear if you don't do this
        win32gui.SetForegroundWindow(hwnd)

        curr_desktop=win32service.OpenInputDesktop(0,True,win32con.MAXIMUM_ALLOWED)
        curr_desktop_name=win32service.GetUserObjectInformation(curr_desktop,win32con.UOI_NAME)
        winsta=win32service.GetProcessWindowStation()
        desktops=winsta.EnumDesktops()
        m=win32gui.CreatePopupMenu()
        desktop_cnt=len(desktops)
        ## *don't* create an item 0
        for d in range(1, desktop_cnt+1):
            mf_flags=win32con.MF_STRING
             ## if you switch to winlogon yourself, there's nothing there and you're stuck
            if desktops[d-1].lower() in ('winlogon','disconnect'):
                mf_flags=mf_flags|win32con.MF_GRAYED|win32con.MF_DISABLED
            if desktops[d-1]==curr_desktop_name:
                mf_flags=mf_flags|win32con.MF_CHECKED
            win32gui.AppendMenu(m, mf_flags, d, desktops[d-1])
        win32gui.AppendMenu(m, win32con.MF_STRING, desktop_cnt+1, 'Create new ...')
        win32gui.AppendMenu(m, win32con.MF_STRING, desktop_cnt+2, 'Exit')

        x,y=win32gui.GetCursorPos()
        d=win32gui.TrackPopupMenu(m,win32con.TPM_LEFTBUTTON|win32con.TPM_RETURNCMD|win32con.TPM_NONOTIFY,
            x,y, 0, hwnd, None)
        win32gui.PumpWaitingMessages()
        win32gui.DestroyMenu(m)
        if d==desktop_cnt+1:      ## Create new
            get_new_desktop_name(hwnd)
        elif d==desktop_cnt+2:    ## Exit
            win32gui.PostQuitMessage(0)
            win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, window_info[hwnd])
            del window_info[hwnd]
            origin_desktop.SwitchDesktop()
        elif d>0:
            hdesk=win32service.OpenDesktop(desktops[d-1],0,0,win32con.MAXIMUM_ALLOWED)
            hdesk.SwitchDesktop()
        return 0
    else:
        return win32gui.DefWindowProc(hwnd, msg, wp, lp)
desktopmanager.py 文件源码 项目:CodeReader 作者: jasonrbr 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def icon_wndproc(hwnd, msg, wp, lp):
    """ Window proc for the tray icons """
    if lp==win32con.WM_LBUTTONDOWN:
        ## popup menu won't disappear if you don't do this
        win32gui.SetForegroundWindow(hwnd)

        curr_desktop=win32service.OpenInputDesktop(0,True,win32con.MAXIMUM_ALLOWED)
        curr_desktop_name=win32service.GetUserObjectInformation(curr_desktop,win32con.UOI_NAME)
        winsta=win32service.GetProcessWindowStation()
        desktops=winsta.EnumDesktops()
        m=win32gui.CreatePopupMenu()
        desktop_cnt=len(desktops)
        ## *don't* create an item 0
        for d in range(1, desktop_cnt+1):
            mf_flags=win32con.MF_STRING
             ## if you switch to winlogon yourself, there's nothing there and you're stuck
            if desktops[d-1].lower() in ('winlogon','disconnect'):
                mf_flags=mf_flags|win32con.MF_GRAYED|win32con.MF_DISABLED
            if desktops[d-1]==curr_desktop_name:
                mf_flags=mf_flags|win32con.MF_CHECKED
            win32gui.AppendMenu(m, mf_flags, d, desktops[d-1])
        win32gui.AppendMenu(m, win32con.MF_STRING, desktop_cnt+1, 'Create new ...')
        win32gui.AppendMenu(m, win32con.MF_STRING, desktop_cnt+2, 'Exit')

        x,y=win32gui.GetCursorPos()
        d=win32gui.TrackPopupMenu(m,win32con.TPM_LEFTBUTTON|win32con.TPM_RETURNCMD|win32con.TPM_NONOTIFY,
            x,y, 0, hwnd, None)
        win32gui.PumpWaitingMessages()
        win32gui.DestroyMenu(m)
        if d==desktop_cnt+1:      ## Create new
            get_new_desktop_name(hwnd)
        elif d==desktop_cnt+2:    ## Exit
            win32gui.PostQuitMessage(0)
            win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, window_info[hwnd])
            del window_info[hwnd]
            origin_desktop.SwitchDesktop()
        elif d>0:
            hdesk=win32service.OpenDesktop(desktops[d-1],0,0,win32con.MAXIMUM_ALLOWED)
            hdesk.SwitchDesktop()
        return 0
    else:
        return win32gui.DefWindowProc(hwnd, msg, wp, lp)
taskbar_widget.py 文件源码 项目:slugiot-client 作者: slugiot 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __createIcon(self):

        # try and use custom icon

        if self.iconPath and os.path.isfile(self.iconPath):
            hicon = self.__loadFromFile(self.iconPath)
        else:
            try:
                fp = 'tmp.ico'
                icFH = file(fp, 'wb')
                if self.serverState == self.EnumServerState.STOPPED:
                    icFH.write(base64.b64decode(self.__getIconStopped()))
                elif self.serverState == self.EnumServerState.RUNNING:
                    icFH.write(base64.b64decode(self.__getIconRunning()))
                icFH.close()
                hicon = self.__loadFromFile(fp)
                os.unlink(fp)
            except:
                print "Can't load web2py icons - using default"
                hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)

        flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE\
            | win32gui.NIF_TIP
        nid = (
            self.hwnd,
            0,
            flags,
            win32con.WM_USER + 20,
            hicon,
            'web2py Framework',
        )
        try:
            win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
        except:
            try:
                win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)
            except win32api.error:

                # This is common when windows is starting, and this code is hit
                # before the taskbar has been created.

                print 'Failed to add the taskbar icon - is explorer running?'

                # but keep running anyway - when explorer starts, we get the
taskbar_widget.py 文件源码 项目:StuffShare 作者: StuffShare 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def __createIcon(self):

        # try and use custom icon

        if self.iconPath and os.path.isfile(self.iconPath):
            hicon = self.__loadFromFile(self.iconPath)
        else:
            try:
                fp = 'tmp.ico'
                icFH = file(fp, 'wb')
                if self.serverState == self.EnumServerState.STOPPED:
                    icFH.write(base64.b64decode(self.__getIconStopped()))
                elif self.serverState == self.EnumServerState.RUNNING:
                    icFH.write(base64.b64decode(self.__getIconRunning()))
                icFH.close()
                hicon = self.__loadFromFile(fp)
                os.unlink(fp)
            except:
                print "Can't load web2py icons - using default"
                hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)

        flags = win32gui.NIF_ICON | win32gui.NIF_MESSAGE\
            | win32gui.NIF_TIP
        nid = (
            self.hwnd,
            0,
            flags,
            win32con.WM_USER + 20,
            hicon,
            'web2py Framework',
        )
        try:
            win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
        except:
            try:
                win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)
            except win32api.error:

                # This is common when windows is starting, and this code is hit
                # before the taskbar has been created.

                print 'Failed to add the taskbar icon - is explorer running?'

                # but keep running anyway - when explorer starts, we get the


问题


面经


文章

微信
公众号

扫码关注公众号