python生成可执行exe控制Microsip自动填写号码并拨打功能


Posted in Python onJune 21, 2021

控制的前提是已经运行Microsip.exe

  python生成可执行exe控制Microsip自动填写号码并拨打功能

首先选择文件,

选择txt格式文件,一行一个手机号格式;如下

python生成可执行exe控制Microsip自动填写号码并拨打功能

点击拨打下一个,就会自动输入自动拨打

python生成可执行exe控制Microsip自动填写号码并拨打功能

代码:

import tkinter
import win32gui
import win32con
from tkinter import filedialog
import tkinter.messagebox
import os
import time
def next_phone(phone):
    win = win32gui.FindWindow('MicroSIP',None)
    tid = win32gui.FindWindowEx(win,None,'#32770',None)
    tid = win32gui.FindWindowEx(tid,None,'ComboBox',None)
    tid = win32gui.FindWindowEx(tid,None,'Edit',None)
    win32gui.SendMessage(tid, win32con.WM_SETTEXT, None, phone)
    win32gui.PostMessage(tid,win32con.WM_KEYDOWN,win32con.VK_RETURN,0)
def openfile():
    sfname = filedialog.askopenfilename(title='选择txt文件', filetypes=[ ('All Files', '*')])
    return sfname
class MicroSIP:
    def __init__(self):
        self.c_window()
 
    def c_window(self):
        self.win = tkinter.Tk()
        self.win.geometry("300x280")
        self.win.resizable(width=False, height=False)
        self.win.protocol('WM_DELETE_WINDOW', self.customized_function)
        self.total = 0
        self.used = 0
        self.res = []
        self.Button1 = tkinter.Button(self.win, text="选择文件", command=self.helloCallBack)
        self.Button_next = tkinter.Button(self.win, text="拨打下一个", command=self.next)
        self.label1 = tkinter.Label(self.win, text="",)
        self.label2 = tkinter.Label(self.win, text="总量:", bg="yellow")
        self.label3 = tkinter.Label(self.win, text="拨打:", bg="red")
        self.label2_2 = tkinter.Label(self.win, text=self.total, )
        self.label3_3 = tkinter.Label(self.win, text=self.used, )
        # label4 = tkinter.Label(win, text="小猪佩奇", bg="green")
        self.Button1.grid(row=0, column=0)
        self.label1.grid(row=0, column=1)
        self.label2.grid(row=2, column=0)
        self.label2_2.grid(row=2, column=1)
        self.label3.grid(row=3, column=0)
        self.label3_3.grid(row=3, column=1)
        self.Button_next.grid(row=5, column=2)
        col_count, row_count = self.win.grid_size()
        for col in range(col_count):
            self.win.grid_columnconfigure(col, minsize=40)
        for row in range(row_count):
            self.win.grid_rowconfigure(row, minsize=40)
        self.win.mainloop()
    def next(self):
        if self.res:
            phone = self.res.pop()
 
            self.used+=1
            self.label3_3['text'] = self.used
            next_phone(phone.strip())
        else:
            res = tkinter.messagebox.showerror(title='文件!', message='选择文件啊!不然打鸡毛!')
    def helloCallBack(self):
        # print("Hello Python", "Hello Runoob")
        file_name = openfile()
        if file_name:
            print(file_name)
            self.label1['text']=file_name.split('/')[-1]
            with open(file_name, 'r', encoding='utf-8')as f:
                self.res = [x.replace('\n', '') for x in f.readlines()]
                self.total = len(self.res)
                self.label2_2['text']=str(len(self.res))
        else:
            res = tkinter.messagebox.showerror(title='文件!', message='选择文件啊!不然打鸡毛!')
    def customized_function(self):
 
        result = tkinter.messagebox.askyesno(title = '离开',message='确定要离开了吗?如没有打完,会把没打完的生成新文件,下次选择新文件就行了!')
        if result:
            if self.total==self.used:
                pass
            else:
                name = time.strftime("%Y_%m_%d_%H_%M_%S_", time.localtime())+"剩余_"+str(self.total-self.used)
                with open(name+'.txt','w',encoding='utf-8')as f:
                    for i in self.res:
                        f.write(i+'\n')
        self.win.destroy()
 
if __name__ == '__main__':
    MicroSIP()

写的比较简单,可以自己优化一下,需要安装pywin32库

打包一下,就可以生成 exe文件  

需要安装pyinstaller 库

命令 pyinstaller -F -w xxx.py

我生成好的exe可供下载:

链接: https://pan.baidu.com/s/1IAx0pgr4ze2jYusisQBXIA

提取码: a3s2

以上就是python生成可执行exe控制Microsip自动填写号码并拨打的详细内容,更多关于python生成可执行exe的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python正则表达式re模块详细介绍
May 29 Python
Python对象的深拷贝和浅拷贝详解
Aug 25 Python
python比较2个xml内容的方法
May 11 Python
六个窍门助你提高Python运行效率
Jun 09 Python
python 写的一个爬虫程序源码
Feb 28 Python
Python for循环中的陷阱详解
Jul 13 Python
对pandas写入读取h5文件的方法详解
Dec 28 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
python内存管理机制原理详解
Aug 12 Python
python BlockingScheduler定时任务及其他方式的实现
Sep 19 Python
wxPython多个窗口的基本结构
Nov 19 Python
详解Python自动化之文件自动化处理
Jun 21 #Python
Python Pandas pandas.read_sql_query函数实例用法分析
Jun 21 #Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 #Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 #Python
Python-OpenCV教程之图像的位运算详解
Python中的套接字编程是什么?
教你如何使用Python开发一个钉钉群应答机器人
You might like
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
js定时器实例分享
2016/12/20 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
Python解析xml中dom元素的方法
2015/03/12 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
python机器学习之神经网络实现
2018/10/13 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
python实现图片素描效果
2020/09/26 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
如何基于Python和Flask编写Prometheus监控
2020/11/25 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
深圳-东方伟业笔试部分
2015/02/11 面试题
面试后感谢信怎么写
2014/02/01 职场文书
2015年维修工作总结
2015/04/25 职场文书
关于远足的感想
2015/08/10 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL