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实现封装得到virustotal扫描结果
Oct 05 Python
Python做文本按行去重的实现方法
Oct 19 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
python3.4爬虫demo
Jan 22 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
Python二维码生成识别实例详解
Jul 16 Python
200行python代码实现2048游戏
Jul 17 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
Tensorflow不支持AVX2指令集的解决方法
Feb 03 Python
keras中模型训练class_weight,sample_weight区别说明
May 23 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
python 制作磁力搜索工具
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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
Zend Framework处理Json数据方法详解
2016/12/09 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
12个非常有创意的JavaScript小游戏
2010/03/18 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
教师个人培训总结
2015/02/11 职场文书
个人专业技术总结
2015/03/05 职场文书
2015双创工作总结
2015/07/24 职场文书
Nginx实现会话保持的两种方式
2022/03/18 Servers