设计一个函数 实现win右下角消息提示的简单调用
时间: 2024-04-09 21:28:48 浏览: 92
以下是一个简单的函数,可以用于实现 Windows下角消息提示的简单调用```python
import ctypes
def show_notification(title, message):
# 定义通知结构体
class NOTIFYICONDATA(ctypes.Structure):
_fields_ = [
("cbSize", ctypes.c_uint),
("hWnd", ctypes.c_void_p),
("uID", ctypes.c_uint),
("uFlags", ctypes.c_uint),
("uCallbackMessage", ctypes.c_uint),
("hIcon", ctypes.c_void_p),
("szTip", ctypes.c_char * 128),
]
# 获取 Windows API 函数
shell32 = ctypes.windll.shell32
user32 = ctypes.windll.user32
# 创建通知结构体并设置属性
nid = NOTIFYICONDATA()
nid.cbSize = ctypes.sizeof(nid)
nid.hWnd = None
nid.uID = 1
nid.uFlags = 0x00000010 | 0x00000002 # NIF_INFO | NIF_TIP
nid.uCallbackMessage = 0
nid.hIcon = None
nid.szTip = title.encode("utf-8")
# 显示通知
shell32.Shell_NotifyIconA(0, ctypes.byref(nid))
user32.MessageBoxA(None, message.encode("utf-8"), title.encode("utf-8"), 0x40)
# 移除通知
shell32.Shell_NotifyIconA(2, ctypes.byref(nid))
# 示例调用
show_notification("提示", "这是一条消息提示")
```
该函数使用了 `ctypes` 模块来调用 Windows API 函数。在函数内部,首先定义了一个 `NOTIFYICONDATA` 结构体,用于设置通知的属性。然后获取 `shell32.dll` 和 `user32.dll` 中的函数,创建通知结构体并设置相应属性,最后调用相应的 API 函数显示通知和弹窗。示例调用可以在代码最后进行,调用时传入标题和消息内容即可。请注意,在调用该函数前,需要确保 Python 程序以管理员权限运行。
阅读全文