电动工具所项目
文章平均质量分 91
第一个让我有成就感的项目
吨吨不打野
不要慌,不要慌,太阳落下有月光
展开
-
pywin32+excel(五)——复制粘贴和公式赋值操作
1. 赋值粘贴通过excel录制宏功能,大概知道了vba中实现相关操作的函数是:copy()和pasteSub 宏1() ActiveWindow.SmallScroll Down:=-12 Range("A6:H23").Select Selection.Copy ActiveWindow.SmallScroll Down:=3 Range("A30").Select ActiveSheet.PasteEnd Sub去MSDN搜搜,看具体的用法是什原创 2021-02-19 16:26:46 · 2089 阅读 · 0 评论 -
pywin32+excel(三)——python通过pywin32操作excel
项目进行到实验三了,继续python操作excel1. python跳出双重循环参考python跳出双层for循环的解决方法在二维数组的遍历中,我们经常使用双层for循环。在某些时候,我们并不需要遍历整个二维数组。当条件满足时就应该终止for循环。但是,直接在内层循环中break并不会让外层循环也终止。可以使用for...else...语法解决。for i in range(5): for j in range(5): print(i, j) if i == 3 and j原创 2020-11-25 11:03:21 · 2101 阅读 · 0 评论 -
pywin32+excel(四)使用pywin32操作excel进阶
1. 关于文本文件的处理虽然每一行的项都是逗号隔开,像csv,每行逗号隔开三个项。分别是行号,列号,对应该行列的单元格内容原创 2020-11-25 11:15:48 · 3829 阅读 · 0 评论 -
pywin32+excel(一)——Python使用win32com/pywin32操作excel
正式使用一千个读者一千个哈姆雷特,单纯 save()表 close()工作薄 还有quit()Excel APP,这三个写法就有很多不同的解释。。。不喜欢解释太多,直接看代码吧,给一个简单的读取某个excel文件 修改后保存的例子。excel = win32.Dispatch('Excel.Application')excel.Visible = False # 如果是True 会打开excel程序(界面)excel.DisplayAlerts = 0 # 不显示警告信息wb = exce原创 2020-08-15 11:37:30 · 21513 阅读 · 14 评论 -
关于进程通信的日常知识
项目需求: 需要通过程序(python/c++)读取另一个.exe程序的进程,来获取该程序界面中表格里的数据尝试1: 直接通过 win32api等 控件的函数/属性来获取 无效尝试2:进程通信,自己程序的进程去读取 该程序进程的 内存 共享进程来进行 进程通信所以这里需要对进程通信/进程共享内存进行一定的了解进程通信目前能搜到的差不多都是以linux为例的(不太记得大学时候学的进程通信是在什么操作系统上了,但是确实是这几种,差不多):Linux系统提供了各种系统调用API用于进程.原创 2020-11-10 11:24:42 · 230 阅读 · 0 评论 -
常见python操作excel库比较
常见工具根据python读写excel等数据文件方法汇总,其实有很多可以读写excel文件的python库。例如:xlrd库: 从excel中读取数据,支持xls、xlsxxlwt库: 对excel进行修改操作,不支持对xlsx格式的修改xlutils库: 在xlw和xlrd中,对一个已存在的文件进行修改openpyxl: 主要针对xlsx格式的excel进行读取和编辑xlwings: 对xlsx、xls、xlsm格式文件进行读写、格式修改等操作xlsxwriter: 用来生成excel表原创 2020-11-10 11:19:03 · 1842 阅读 · 0 评论 -
获取windows程序界面数据
基础知识第一次上手这种项目,大概知道是获取windows窗体的句柄,大概的方向是使用C++或者C#(虽然我这几年基本都全用python,C系列的忘得差不多,但是该捡起来还是要捡起来,哈哈哈)win7/win10查看某个进程的句柄数win7下,比较简单:任务管理器->选择 进程tab->菜单栏的查看->选择列->句柄数复选框选择,然后在进程tab页面就可以看到多了一列 句柄数 的显示。win10下,比win7隐藏的深一点点任务管理器->句柄的概念...原创 2020-11-10 11:15:26 · 9245 阅读 · 5 评论 -
调研-python使用win32com模块操纵excel
背景介绍支持库pypiwin32中含有win32com模块,安装(这个 pypiwin32没有github项目,主页:pypiwin32。> pip install pypiwin32 // 我是使用这种最简单的方式安装完成的> python -m pip install pypiwin32// 可能有些安装不成 需要用这种方式 或者> pip install pypiwin32 --user不使用python自带的一些操作excel的库是因为这次的项目对excel格式要求原创 2020-08-06 17:03:29 · 8233 阅读 · 8 评论 -
python打包含有参数传递的exe程序
参考链接:json解析Python中json模块的load/loads方法实战及参数详解记住一点,load方法的作用对象是文件流(with open之后的f句柄),loads方法的作用对象是字符串。参数传递常见的就是 sys.argv还有argparse(这个库不是内置的,需要pip install argparse),前者功能比较简单,能提供的有限,后者虽然不是内置的,需要安装,但是确实功能比较强大。所以在开发时选择后者(如果最后打包程序或者在用户环境运行有问题,那就考虑换掉,使用前者,这原创 2020-08-20 16:50:54 · 14031 阅读 · 8 评论 -
python使用win32截取某窗口中特定部分
提取要识别的程序中表格部分的图片感谢spy++,关于获取某程序中某部分窗口截图的实现,参考:python 使用win32api截图全解释python使用win32api截图并回收资源Windows ->Apps->Win32->API->Windows GDI->Wingdi.h->BitBlt function 关于这个函数的使用,这个网页中给了一个例子:For an example, see Capturing an Image. 重点在以下部分原创 2020-08-27 10:39:02 · 3602 阅读 · 0 评论 -
正确访问其他程序的 MSFlexGrid类
问题说明获取右下方的表格数据,通过Spy++可知,该表格控件所属的类是:MSFlexGridWndClass 。不幸的是,这个控件希望的曙光感谢MSDN 在我搜索 MSFlexGridWndClass MSDN时 看到了一个Forums—微软人员对这个问题MSFlexGrid UIAutomation C++ API的回答 : MSFlexGridWndClass 是MSFlexGrid控件的一个实例,控件属于的类 其实叫 MSFlexGrid 好了 继续调研,我又觉得自己可以了~原创 2020-09-10 13:10:34 · 1810 阅读 · 9 评论 -
查看某软件的所有窗口句柄
使用spy++查看某窗口所有句柄点击 监视->进程->找到自己关注的目标程序->点击主线程(每个程序肯定有个主线程 不行就一个一个点进去看)->看到所有窗口组件原创 2020-09-14 09:22:56 · 1772 阅读 · 0 评论 -
Visual Studio关于hook项目的简单使用
参考 DLL注入_拦截技术之Hook方式: 可知如果我想要使用hook的dll注入方式来获取其他程序的数据,则关键的对象有:操作 启动程序和给dll传递程序线程id 的一个程序对目标程序的消息进行处理的dll目标程序.exedll文件编写操作dll文件和目标程序的 代码编写新建项目新建项目->找到 控制台应用(在Windows终端运行代码)->填写其他项目后,看到 将解决方案和项目放在同一目录中。根据 终于理解了解决方案和项目之间的关系了可知:项目和解决方案的关系是:原创 2020-09-14 09:23:25 · 1847 阅读 · 0 评论 -
应用程序无法正常启动0xc000007b win7
之前自己用vs2019写的一个单纯的控制台程序(调用使用了MFC的dll程序),在安装了vs2019的win7上可以运行,但是在没有安装vs2019的电脑上就不能运行,提示了标题错误。搜索过一些常规解决方案,例如:无效:解决1这个问题,根据 应用程序无法正常启动0xc000007b怎么解决。主要是由于DirectX 9.0被损坏,需要下载软件运行一下(主要还是win7系统缺失了很多dll文件造成的)打开DirectX修复工具,检测并修复工具->选项->扩展->开始扩展(联网状原创 2020-10-16 12:32:14 · 6740 阅读 · 2 评论 -
pywin32+excel(二)——pywin32写入excel数字保持0的个数(保持精度)
1. 问题开发的时候遇到一个问题: 从文本文件中读取一个精度四位数的浮点数,无论是使用 eval函数,还是使用float函数,最后结果都是0.8,后面的0被忽略了,但是客户那边对这个比较在意,需要把这个后面的0都显示出来eval("0.8000")Out[7]: 0.8float("0.8000")Out[8]: 0.82.解决方案2.1 python系的解决方案依然感谢Stack Overflow,how to keep the precision when convert string原创 2020-10-26 16:09:37 · 1161 阅读 · 0 评论