‘壹’ Pycharm环境导入win32api报错:No mole named win32api
一样的程序,在python IDLE中正常运行,没有报错
在Windows DOS窗口,进入python环境,输入:import win32api。一切正常
但是在进入Pycharm运行,提示No mole named win32api
解决办法:
1. 找到Python的site-packages文件夹,我的在D:\Python\Lib\site-packages
2. 找到你自己新建的pycharm工程文件夹,将site-packages用上面的site-packages全部替换。我的在D:\PythonProject\venv\Lib\site-packages
回到Pycharm。运行通过。完美解决!
我是学习的这一篇文章:https://blog.csdn.net/Anglepoppy/article/details/79806652
‘贰’ python引用win32com显示没有win32api怎么
python引用win32com显示没有win32api是缺少了windows系统API的库这个模块,安装这个模块即可。
1、要去下载一个win32com。
2、到sourceforge下载一个pywin32扩展进行安装即可。
‘叁’ Python win32 使用方式
handle = win32gui.FindWindow('Galaxy2DEngine',None)
left, top, right, bottom = win32gui.GetWindowRect(handle)
win32gui.MoveWindow(handle, int x, int y, int w,int h,BOOL bRepaint )
pos = win32gui.GetCursorPos()
win32api.SetCursorPos([x, y])
title = win32gui.GetWindowText(handle)
clsname = win32gui.GetClassName(handle)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
def click_it(self,x,y):
#设置鼠标位置
win32api.SetCursorPos([x, y])
#获取鼠标位置
pos = win32api.GetCursorPos()
#通过鼠标位置获取窗体句柄
handle= win32gui.WindowFromPoint(pos)
#通过窗体名称获取窗体句柄(可通过spy++获取)
#handle = win32gui.FindWindow('Galaxy2DEngine',None)
#获取Title & ClassName
title = win32gui.GetWindowText(handle)
clsname = win32gui.GetClassName(handle)
#把在屏幕上鼠标的位置转换为打开的程序的客户区的坐标
client_pos =win32gui.ScreenToClient(handle,pos)
tmp=win32api.MAKELONG(client_pos[0],client_pos[1])
#发送激活窗口消息 并发送鼠标按下-抬起消息,依赖具体的窗体(handle),窗体内位置(tmp)
win32gui.SendMessage(handle, win32con.WM_ACTIVATE,win32con.WA_ACTIVE,0)
win32gui.SendMessage(handle, win32con.WM_LBUTTONDOWN,win32con.MK_LBUTTON,tmp)
win32gui.SendMessage(handle, win32con.WM_LBUTTONUP,win32con.MK_LBUTTON,tmp)
#win32gui.SendMessage(handle, win32con.WM_RBUTTONDOWN,win32con.MK_LBUTTON,tmp)
#win32gui.SendMessage(handle, win32con.WM_RBUTTONUP,win32con.MK_LBUTTON,tmp)
‘肆’ Python怎么使用拖拽文件相关的Windows API
为了满足更多免费用户的便捷使用与操作,超级表格为大家提供了文件夹功能,帮助用户更好的整理和编辑数据。1、新建文件夹的两个方法
①在网站左上角有一个“新建”按钮,点击后,可以新建文件夹。
②也可以直接点击“面包屑”旁边的“+”号按钮新建文件夹。
2、文件以及文件夹的拖拽功能
超级表格实现了类似于windows系统的文件夹拖拽功能,让表格的移动操作变得更加简单流程。
新建文件夹后,将表格拖拽放入文件夹红,例如:将表格【地点表】拖拽放入文件夹【市场部】:
当然,也可以将文件夹拖拽放入文件夹中,例如:将文件夹【市场部】拖拽放入文件夹【公司】:
‘伍’ python怎么调用api接口
调用windows API的方式其实有两种,第一种是通过第三方模块pywin32。
如果小伙伴安装了pip,可以通过pip安装pywin32
在命令行中运行pip pst查看是否安装了pywin32
如图
我们这里调用一个windows最基本的API,MessageBox,该接口可以显示一个对话框。
这里小编就不过多介绍了,只简单的描述MessageBox接口,MessageBox是windows的一个API接口,作用是显示一个对话框。
原型为:
int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);
第一个参数hWnd,指明了该对话框属于哪个窗口,lpText为窗口提示信息,lpCaption则为窗口标题,uType则是定义对话框的按钮和图标。
这里我们需要导入win32api这个模块(隶属于pywin32),如果需要宏定义的,API的宏被定义在win32con(同隶属于pywin32)模块内。
这里我们只导入一个win32api模块,然后简单的调用MessageBox显示一个对话框即可。
如果我们不会安装pywin32模块,或者说不想安装这个三方模块。这时我们还有一个办法。
调用python内置模块ctypes,如果小伙伴有windows编程基础的话,或者看过一点MSDN的话,都该知道,Windows的API其实是以dll文件(动态链接库)方式存在的。
+和|效果是相同的
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python怎么调用api接口的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
‘陆’ python可以直接调用win32的api吗
Python没有自带访问windows系统API的库的,需要下载第三方库。库的名称叫pywin32,可以从网上直接下载 (下载适合的Python版本)
使用中如果出现ImportError: No mole named win32api 或者出现 ImportError: No mole named win32con,说明你的库没有安装好。
介绍这个库里面最重要的两个模块:win32api和win32con。win32api顾名思义,就是用python对win32的本地api进行了封装;win32con个人理解为win32constant,即win32的常量定义。
‘柒’ python可以直接调用win32的api吗
python是可以直接调用win32的api的
在SourceForge网站上,可以找打python win32api这个第三方扩展(Python for Windows Extensions),下载之后安装到电脑上,然后你的python安装目录就会多一个PythonWin这个快捷方式,打开然后写如下代码:
importwin32api
win32api.MessageBox(0,'hello','title')
结果如下图:
‘捌’ Python截取顶部窗口或全屏截取(修复Windows缩放问题)//windows原生API
两个方法,已经注明了,直接使用就可以了,对了,记得自己安装win32库
‘玖’ 我在网上找到的用python写的在windows下控制鼠标的操作,求高手讲解一下这个代码,本人新手,看不懂~~
这个就是直接用的winapi,你到msdn上搜相应的函数就知道了。
‘拾’ 用python操作Windows的计算器。
pyhook可以抓到键。
不过这里只需要消息就可以了,win32api中的windows的message
使用vc中的消息 工具,抓键盘消息。然后再把这个消息包装一下用pywin32中的API发送过去。
我以前用pyhook加pywin32, 控制过一个游戏,做外挂。
也用pywin32的com接口控制过excel