python可以调用windows资源吗_Pywin32调用Window API很难?看这篇就知道了

u=1761236581,1065860599&fm=173&app=49&f=JPEG?w=600&h=372&s=3B82AC4E8AA0AC531C3EC4830300608B斌哥说

大家好,我是斌哥。

相信很多学习的Python的小伙伴都会遇到这样的难点:在Windows上开发Python项目,尽管Python的库成千上万,但是针对特殊情况,还是需要考虑到API来做特殊的需求。

在Python上,window API调用大致分为2种方法。

1、Python的第三方库:Pywin32

2、引用windowAPI动态链接库(将会在另一篇文章具体说明,包括指针,结构体在Python内怎么定义,怎么通过Python传递结构体指针给API等等,相信看完你也能开发一个Pywin32)

现在我们主要说第一种方法,我们通过Pywin32提供的接口来达到间接调用windowsAPI的效果。

安装完成之后,我们通过pip查询是否成功安装。

pip list | findstr "pywin32"

u=3331636319,2175918311&fm=173&app=49&f=JPEG?w=640&h=418&s=E1711B6473BAB66D0C59FC0F020050C1pip list | findstr "pywin32"

查看pywin32所在路径

pip show pywin32

u=2735183041,48287047&fm=173&app=49&f=JPEG?w=640&h=418&s=A960CB023BEEB74D4470BC07020070C3pip show pywin32

pip show pywin32 | findstr "Location:"可查看路径Location所提示的路径,然后打开其下win32目录。

u=1965455238,3383294598&fm=173&app=49&f=JPEG?w=356&h=53示例

win32目录下的所有pyd为扩展名的都是pywin32的模块,每个模块都提供了相应模块名的API。

u=2413927056,169614513&fm=173&app=49&f=JPEG?w=437&h=653&s=C802EC13199EC1CE4A6D21DE0000C0B3pywin32提供的模块

例如:

win32api 提供了常用的用户API

win32clipboard 提供了有关粘贴板的API

win32console 提供了有关控制台的API

win32gui 提供了有关windows用户界面图形操作的API

win32service 提供了有关服务操作的API

win32file 提供了有关文件操作的API

等等

此外还有几个相当重要的宏定义的文件(这些宏文件定义了有关windowsAPI内所定义的宏)

他们在win32目录下的lib目录中可以找到。

u=3597438375,430476987&fm=173&app=49&f=JPEG?w=640&h=399&s=C250CD32110B614B4E4508DE000080B2pywin32提供的宏

最常用的2个宏定义文件即是:win32con和winerror

win32con:基本上所有宏都集成在这里(5k+)

winerror:系统错误码的宏定义 来源于winerror.h

打开Python Shell,尝试调用一个MessageBox:

import win32api,win32con

win32api.MessageBox(None,"Hello Pywin32","pywin32",win32con.MB_YESNO)

u=4015549836,93143136&fm=173&app=49&f=JPEG?w=623&h=602&s=090855320F0E5549445508DE0000C0B2示例

从上例可以看出,Pywin32设计这些宏文件的作用,其目的就是让我们可以直接通过windowsSDK内提供的宏名来直接使用,就像用C/C++开发一样,不会那么陌生。

我是斌哥,喜欢请点击关注。

斌哥说Python,只专注于Python技术!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值