wxpython 윈도 우즈 에 트 레이 풍선 메시지 표시
2680 단어 wxPython
=====================================
wx 아래 에 만들어 진 트 레이 아이콘 에 풍선 메 시 지 를 표시 하려 는 작은 수요 가 있 습 니 다. 어색 한 것 은 wx. TaskBarIcon 이 wx. Window 등 GetHandle 방법 이 있 지 않 아 핸들 을 직접 얻 을 수 없습니다. 해결 방법
1. 스스로 TaskBarIcon 을 다시 쓰기...
2. 직접 옮 겨 다 니 며 핸들 을 찾 습 니 다.
#coding: cp936
import win32gui
import win32con
import time
class TestTaskbarIcon:
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)
def OnDestroy(self, hwnd, msg, wparam, lparam):
nid = (self.hwnd, 0)
win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid)
win32gui.PostQuitMessage(0) # Terminate the app.
if __name__ == '__main__':
t = TestTaskbarIcon()
t.showMsg(" !", " !")
time.sleep(5)
win32gui.DestroyWindow(t.hwnd)
1. 알고리즘 디자인 을 제외 하고 python 을 사용 하 는 것 은 정말 간단 합 니 다.
2. python 을 사용 할 줄 아 는 것 은 아무것도 아니 고 괴상 한 것 도 사용 해 야 한다. 예 를 들 어 이것 이다.
3. windows 개발 을 자주 하지 않 는 사람 은 msdn 과 baidu / google 을 항상 준비 해 야 당황 하지 않 는 다.
절차 가 바 뀌 었 으 니 가능 한 한 줄 이 세 요.
쓰다
http://www.3snews.net/html/50/550-20986.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
wxpython 애플릿: qq 보안 센터 모방텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.