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单线程实现多个定时器示例
Mar 30 Python
使用PDB模式调试Python程序介绍
Apr 05 Python
Python字符串、元组、列表、字典互相转换的方法
Jan 23 Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 Python
python实现简易自习室座位预约系统
Jun 30 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 Python
Python中三种花式打印的示例详解
Mar 19 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下MYSQL limit的优化
2008/01/10 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
php生成QRcode实例
2014/09/22 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
2018/09/26 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
基于Python的接口测试框架实例
2016/11/04 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
详解python Todo清单实战
2018/11/01 Python
pip安装python库的方法总结
2019/08/02 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
python关于倒排列的知识点总结
2020/10/13 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
数控个人求职信范文
2014/02/03 职场文书
高中军训第一天感言
2014/03/06 职场文书
婚前协议书标准版
2014/10/19 职场文书
信访稳定工作汇报
2014/10/27 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
卖车协议书范文
2016/03/23 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python