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 相关文章推荐
Windows上配置Emacs来开发Python及用Python扩展Emacs
Nov 20 Python
查看Django和flask版本的方法
May 14 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
初探利用Python进行图文识别(OCR)
Feb 26 Python
python mysql断开重连的实现方法
Jul 26 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
numpy:找到指定元素的索引示例
Nov 26 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
python如何对链表操作
Oct 10 Python
python调试工具Birdseye的使用教程
May 25 Python
python全面解析接口返回数据
Feb 12 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
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
PHP Socket 编程
2010/04/09 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
arguments对象
2006/11/20 Javascript
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
jQuery中prepend()方法用法实例
2014/12/25 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
js实现简单扫雷
2020/11/27 Javascript
python+splinter自动刷新抢票功能
2018/09/25 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
python ---lambda匿名函数介绍
2019/03/13 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
python实现最速下降法
2020/03/24 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL