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中subprocess的简单使用示例
Jul 28 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
详解Python的Lambda函数与排序
Oct 25 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
对Python3中的input函数详解
Apr 22 Python
利用python如何处理nc数据详解
May 23 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
python实现学生通讯录管理系统
Feb 25 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数组应用之比较两个时间的相减排序
2008/08/18 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
javascript 写类方式之九
2009/07/05 Javascript
javascript中的继承实例代码
2011/04/27 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
layer实现弹窗提交信息
2016/12/12 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
为Python程序添加图形化界面的教程
2015/04/29 Python
详解python3百度指数抓取实例
2016/12/12 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
应届生程序员求职信
2013/11/05 职场文书
经理管理专业自荐信范文
2013/12/31 职场文书
致接力运动员广播稿
2014/02/17 职场文书
2014学年自我鉴定
2014/02/23 职场文书
销售总经理岗位职责
2014/03/15 职场文书
三方合作协议书范本
2014/04/18 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
卖房授权委托书样本
2014/10/05 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
家属答谢词
2015/01/05 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
感恩的心主题班会
2015/08/12 职场文书