Python使用Windows API创建窗口示例【基于win32gui模块】


Posted in Python onMay 09, 2018

本文实例讲述了Python使用Windows API创建窗口。分享给大家供大家参考,具体如下:

一、代码

# -*- coding:utf-8 -*-
#! python3
import win32gui
from win32con import *
def WndProc(hwnd,msg,wParam,lParam):
  if msg == WM_PAINT:
    hdc,ps = win32gui.BeginPaint(hwnd)
    rect = win32gui.GetClientRect(hwnd)
    win32gui.DrawText(hdc,'GUI Python',len('GUI Python'),rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER)
    win32gui.EndPaint(hwnd,ps)
  if msg == WM_DESTROY:
    win32gui.PostQuitMessage(0)
  return win32gui.DefWindowProc(hwnd,msg,wParam,lParam)
wc = win32gui.WNDCLASS()
wc.hbrBackground = COLOR_BTNFACE + 1
wc.hCursor = win32gui.LoadCursor(0,IDI_APPLICATION)
wc.lpszClassName = "Python no Windows"
wc.lpfnWndProc = WndProc
reg = win32gui.RegisterClass(wc)
hwnd = win32gui.CreateWindow(reg,'3water.com - Python',WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,0,0,0,None)
win32gui.ShowWindow(hwnd,SW_SHOWNORMAL)
win32gui.UpdateWindow(hwnd)
win32gui.PumpMessages()

二、运行结果:

Python使用Windows API创建窗口示例【基于win32gui模块】

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

Python 相关文章推荐
python实现网页链接提取的方法分享
Feb 25 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
Python列表对象实现原理详解
Jul 01 Python
python 返回一个列表中第二大的数方法
Jul 09 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 Python
Python逐行读取文件内容的方法总结
Feb 14 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
Python按照list dict key进行排序过程解析
Apr 04 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 Python
python对一个数向上取整的实例方法
Jun 18 Python
Python基于win32ui模块创建弹出式菜单示例
May 09 #Python
numpy中的delete删除数组整行和整列的实例
May 09 #Python
java中两个byte数组实现合并的示例
May 09 #Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 #Python
如何实现删除numpy.array中的行或列
May 08 #Python
numpy实现合并多维矩阵、list的扩展方法
May 08 #Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 #Python
You might like
论坛头像随机变换代码
2006/10/09 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
2011/01/07 PHP
php实现图片添加水印功能
2014/02/13 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python实现Linux中的du命令
2017/06/12 Python
python web基础之加载静态文件实例
2018/03/20 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
高二生物教学反思
2014/01/27 职场文书
经济贸易系求职信
2014/08/04 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers