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 相关文章推荐
10款最好的Web开发的 Python 框架
Mar 18 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
python3音乐播放器简单实现代码
Apr 20 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
Python实现图片拼接的代码
Jul 02 Python
python绘制多个子图的实例
Jul 07 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 Python
如何基于windows实现python定时爬虫
May 01 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Python猫眼电影最近上映的电影票房信息
Sep 18 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 Python
python urllib库的使用详解
Apr 13 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 session
2013/10/28 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
JavaScript SHA512&SHA256加密算法详解
2015/08/11 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
JavaScript中 DOM操作方法小结
2017/04/25 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
vue实现计算器功能
2020/02/22 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
python实现上传下载文件功能
2020/11/19 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
基于python指定包的安装路径方法
2018/10/27 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
JDK安装目录下有哪些内容
2014/08/25 面试题
C#笔试题
2015/07/14 面试题
自荐信的两点禁忌
2013/10/30 职场文书
工程项目建议书范文
2014/03/12 职场文书
诚信考试标语
2014/06/24 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
springboot+zookeeper实现分布式锁
2022/03/21 Java/Android
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL