可以在win32gui.Shell_NotifyIcon中加入链接吗?

离开江湖 发布于 2013/07/09 10:32
阅读 196
收藏 0

想写一个简单的最新订单的通知程序

最基本的功能可以实现,但是我就想在提示的程序中加入一个链接,,,,到这就不会了!!

初学python,求大侠指点1,2

下面是代码:

#!/usr/bin/env python
#coding: utf8
import win32gui
import win32con
import time
import winsound
import requests
class tipWin:
    def __init__(self):
        # 注册一个窗口类
        wc = win32gui.WNDCLASS()
        hinst = wc.hInstance = win32gui.GetModuleHandle(None)
        wc.lpszClassName = "PythonTaskbarDemo"
        wc.lpfnWndProc = {win32con.WM_DESTROY: self.OnDestroy,}
        classAtom = win32gui.RegisterClass(wc)
        style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
        self.hwnd = win32gui.CreateWindow( classAtom, "Taskbar Demo", style,
                0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
                0, 0, hinst, None)
        hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)
        nid = (self.hwnd, 0, win32gui.NIF_ICON, win32con.WM_USER+20, hicon, "Demo")
        win32gui.Shell_NotifyIcon(win32gui.NIM_ADD, nid)

    def showMsg(self, title, msg):
        # 原作者使用Shell_NotifyIconA方法代替包装后的Shell_NotifyIcon方法
        # 据称是不能win32gui structure, 我稀里糊涂搞出来了.
        # 具体对比原代码.
        nid = (self.hwnd, # 句柄
                0, # 托盘图标ID
                win32gui.NIF_INFO, # 标识
                0, # 回调消息ID
                0, # 托盘图标句柄
                "TestMessage", # 图标字符串
                msg, # 气球提示字符串
                0, # 提示的显示时间
                title, # 提示标题
                win32gui.NIIF_INFO # 提示用到的图标
                )
        win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
        self.playSound()
    def playSound(self):
        mp3=r"source/1.wav"
        winsound.PlaySound(mp3, winsound.SND_NODEFAULT)
    def OnDestroy(self, hwnd, msg, wparam, lparam):
        nid = (self.hwnd, 0)
        win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid)
        win32gui.PostQuitMessage(0) # Terminate the app.

class getNewTip:
    def __init__(self):
        self.rq = requests
    def getData(self ,url):
        content = self.rq.get(url)
        return content

if __name__ == '__main__':
    g = getNewTip()
    result = g.getData('http://www.baidu.com')
    if(result != ''):
        t = tipWin()
        t.showMsg(u"标题!", u"内容!")
        time.sleep(5)
        win32gui.DestroyWindow(t.hwnd)

加载中
返回顶部
顶部