本文主要是介绍简单演示python 如何使用Windows动态链接库文件user32.dll,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个例子对于Windows API编程经验的初学者有一些帮助,由于ctypes是python内置库 ,优点就是我们不需要安装第三方库 这就可以使用Windows动态链接库中函数 方便增强我们编程的灵活性 由于语法的不同 我们得注意一些细节上的差别,我不给出太长的代码段,以免分散注意力,希望对初学者有一定的帮助:#第一步 引入库 import ctypes#现在我们想使用user32.dll文件提供的函数,使用下面两种方式中任意一种声明即可 # user32=ctypes.windll.user32 user32=ctypes.windll.LoadLibrary(r"user32.dll")#我这里定义LONG类型 就主要希望和Windows编程语法书写一致 大家看上去熟悉LONG = ctypes.c_long#这里定义一个点结构类型 使用python定义一个类 和C语言相似点很高 所以大家可以其他类似结构 #很容易转换为python可用的形式 这和微软定义一致 目的增加通用性 我们遵循该原则可读性高 #而且维护也很好 别人也容易阅读 如何你使用程序转换C语言为python语言 遵循原则的其他人些的程序 #我们同样很快转换为python语法 class POINT(ctypes.Structure):_fields_ = [("x", LONG),("y", LONG)] #注意一点 由于C语言编写的是传值调用 所以使用结构是必须采取参数为引用传递 这样函数才能修改参数的#值 这里给一个获取当前鼠标位置的函数调用 a=POINT() user32.GetCursorPos(ctypes.byref(a)) #如果我们不采用参数的引用传递 得到只是传值调用 结果和初始化时一样 python对数值类型默认 #初始值为0 print("GetCursorPos鼠标位置为:",a.x,a.y)
这篇关于简单演示python 如何使用Windows动态链接库文件user32.dll的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!