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文件与目录操作实例详解
Feb 22 Python
python 基础教程之Map使用方法
Jan 17 Python
python编写微信远程控制电脑的程序
Jan 05 Python
Python 元类实例解析
Apr 04 Python
Python实现SQL注入检测插件实例代码
Feb 02 Python
Django框架实现分页显示内容的方法详解
May 10 Python
python安装numpy和pandas的方法步骤
May 27 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
python 利用zmail库发送邮件
Sep 11 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
php使用google地图应用实例
2014/12/31 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
python定义类的简单用法
2020/07/24 Python
python利用线程实现多任务
2020/09/18 Python
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
旅游管理本科生求职信
2013/10/14 职场文书
酒店个人培训自我鉴定
2013/12/11 职场文书
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
自我鉴定四大框架
2014/01/17 职场文书
学生生病请假条范文
2014/02/16 职场文书
本科生就业推荐信
2014/05/19 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
win10下go mod配置方式
2021/04/25 Golang
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android