• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python实现Windows上气泡提醒效果的方法

Python实现Windows上气泡提醒效果的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python ide windows,python windows,python windows安装,windows python编辑器,python for windows等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了Python实现Windows上气泡提醒效果的方法。分享给大家供大家参考。具体实现方法如下:

# -*- encoding: gbk -*- 
import sys 
import os 
import struct 
import time 
import win32con 
from win32api import * 
# Try and use XP features, so we get alpha-blending etc. 
try: 
 from winxpgui import * 
except ImportError: 
 from win32gui import * 
class PyNOTIFYICONDATA: 
 _struct_format = ( 
  "I" # DWORD cbSize; 结构大小(字节) 
  "I" # HWND hWnd; 处理消息的窗口的句柄 
  "I" # UINT uID; 唯一的标识符 
  "I" # UINT uFlags; 
  "I" # UINT uCallbackMessage; 处理消息的窗口接收的消息 
  "I" # HICON hIcon; 托盘图标句柄 
  "128s" # TCHAR szTip[128]; 提示文本 
  "I" # DWORD dwState; 托盘图标状态 
  "I" # DWORD dwStateMask; 状态掩码 
  "256s" # TCHAR szInfo[256]; 气泡提示文本 
  "I" # union { 
    #  UINT uTimeout; 气球提示消失时间(毫秒) 
    #  UINT uVersion; 版本(0 for V4, 3 for V5) 
    # } DUMMYUNIONNAME; 
  "64s" #  TCHAR szInfoTitle[64]; 气球提示标题 
  "I" # DWORD dwInfoFlags; 气球提示图标 
 ) 
 _struct = struct.Struct(_struct_format) 
 hWnd = 0 
 uID = 0 
 uFlags = 0 
 uCallbackMessage = 0 
 hIcon = 0 
 szTip = '' 
 dwState = 0 
 dwStateMask = 0 
 szInfo = '' 
 uTimeoutOrVersion = 0 
 szInfoTitle = '' 
 dwInfoFlags = 0 
 def pack(self): 
  return self._struct.pack( 
   self._struct.size, 
   self.hWnd, 
   self.uID, 
   self.uFlags, 
   self.uCallbackMessage, 
   self.hIcon, 
   self.szTip, 
   self.dwState, 
   self.dwStateMask, 
   self.szInfo, 
   self.uTimeoutOrVersion, 
   self.szInfoTitle, 
   self.dwInfoFlags 
  ) 
 def __setattr__(self, name, value): 
  # avoid wrong field names 
  if not hasattr(self, name): 
   raise NameError, name 
  self.__dict__[name] = value 
class MainWindow: 
 def __init__(self, title, msg, duration=3): 
  # Register the Window class. 
  wc = WNDCLASS() 
  hinst = wc.hInstance = GetModuleHandle(None) 
  wc.lpszClassName = "PythonTaskbarDemo"
  # 字符串只要有值即可,下面3处也一样 
  wc.lpfnWndProc = { win32con.WM_DESTROY: self.OnDestroy }
  # could also specify a wndproc. 
  classAtom = RegisterClass(wc) 
  # Create the Window. 
  style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU 
  self.hwnd = CreateWindow(classAtom, "Taskbar Demo", style, 
   0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, 
   0, 0, hinst, None 
  ) 
  UpdateWindow(self.hwnd) 
  iconPathName = os.path.abspath(os.path.join(sys.prefix, "pyc.ico"))
  icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE 
  try: 
   hicon = LoadImage(hinst, iconPathName, win32con.IMAGE_ICON, 0, 0, icon_flags) 
  except: 
   hicon = LoadIcon(0, win32con.IDI_APPLICATION) 
  flags = NIF_ICON | NIF_MESSAGE | NIF_TIP 
  nid = (self.hwnd, 0, flags, win32con.WM_USER + 20, hicon, "Balloon tooltip demo") 
  Shell_NotifyIcon(NIM_ADD, nid) 
  self.show_balloon(title, msg) 
  time.sleep(duration) 
  DestroyWindow(self.hwnd) 
 def show_balloon(self, title, msg): 
  # For this message I can't use the win32gui structure because 
  # it doesn't declare the new, required fields 
  nid = PyNOTIFYICONDATA() 
  nid.hWnd = self.hwnd 
  nid.uFlags = NIF_INFO 
  # type of balloon and text are random 
  nid.dwInfoFlags = NIIF_INFO 
  nid.szInfo = msg[:64] 
  nid.szInfoTitle = title[:256] 
  # Call the Windows function, not the wrapped one 
  from ctypes import windll 
  Shell_NotifyIcon = windll.shell32.Shell_NotifyIconA 
  Shell_NotifyIcon(NIM_MODIFY, nid.pack()) 
 def OnDestroy(self, hwnd, msg, wparam, lparam): 
  nid = (self.hwnd, 0) 
  Shell_NotifyIcon(NIM_DELETE, nid) 
  PostQuitMessage(0) # Terminate the app. 
if __name__=='__main__': 
 MainWindow("您有一条短消息", "您该睡觉了")

</div>

希望本文所述对大家的Python程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • Python制作Windows系统服务
  • Python制作Windows系统服务
  • Python删除windows垃圾文件的方法
  • Python删除windows垃圾文件的方法
  • python在windows下创建隐藏窗口子进程的方法
  • Python实现Windows上气泡提醒效果的方法
  • python判断windows系统是32位还是64位的方法
  • python在windows和linux下获得本机本地ip地址方法小结
  • python在windows命令行下输出彩色文字的方法
  • Python实现windows下模拟按键和鼠标点击的方法

相关文章

  • python判断给定的字符串是否是有效日期的方法
  • Python中使用pprint函数进行格式化输出的教程
  • python安装mysql-python简明笔记(ubuntu环境)
  • Python模块学习 datetime介绍
  • 利用python代码写的12306订票代码
  • Python随机生成带特殊字符的密码
  • Python实现包含min函数的栈
  • Python对list列表结构中的值进行去重的方法总结
  • 下载安装setuptool和pip linux安装pip
  • windows系统下Python环境搭建教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python操作数据库之sqlite3打开数据库、删除、修改示例
    • Flask框架的学习指南之开发环境搭建
    • Python入门教程之运算符与控制流
    • python使用循环实现批量创建文件夹示例
    • python通过pil为png图片填充上背景颜色的方法
    • Python合并字符串的3种方法
    • tensorflow如何继续训练之前保存的模型实例
    • Python写的PHPMyAdmin暴力破解工具代码
    • Python中内置的日志模块logging用法详解
    • 玩转python爬虫之正则表达式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有