python生成可执行exe控制Microsip自动填写号码并拨打功能

 更新时间:2021年06月21日 15:58:11   作者:我不喜欢这个世界  
这篇文章主要介绍了python生成可执行exe控制Microsip自动填写号码并拨打,在这需要注意一个问题,必须是已经运行Microsip.exe文件,具体实现代码跟随小编一起看看吧

控制的前提是已经运行Microsip.exe

  

首先选择文件,

选择txt格式文件,一行一个手机号格式;如下

点击拨打下一个,就会自动输入自动拨打

代码:

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彩色化Linux的命令行终端界面的代码实例分享

    Python彩色化Linux的命令行终端界面的代码实例分享

    美化Linux的terminal终端显示的方法多种多样,这里我们给出一个利用Python彩色化Linux的命令行终端界面的代码实例分享,包括一个Linux下简便执行Python程序的方法,需要的朋友可以参考下
    2016-07-07
  • Python使用win32com实现的模拟浏览器功能示例

    Python使用win32com实现的模拟浏览器功能示例

    这篇文章主要介绍了Python使用win32com实现的模拟浏览器功能,结合实例形式分析了Python基于win32com模块实现网页的打开、登陆、加载等功能相关技巧,需要的朋友可以参考下
    2017-07-07
  • python 使用cycle构造无限循环迭代器

    python 使用cycle构造无限循环迭代器

    这篇文章主要介绍了python 使用cycle构造无限循环迭代器的方法,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-12-12
  • Python Gluon参数和模块命名操作教程

    Python Gluon参数和模块命名操作教程

    这篇文章主要介绍了Python Gluon参数和模块命名操作,结合实例形式详细分析了Python Gluon模块功能及基本使用技巧,需要的朋友可以参考下
    2019-12-12
  • 解决pycharm 误删掉项目文件的处理方法

    解决pycharm 误删掉项目文件的处理方法

    今天小编就为大家分享一篇解决pycharm 误删掉项目文件的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python调用win10toast框架实现定时调起系统通知

    Python调用win10toast框架实现定时调起系统通知

    win10toast是一个windows通知的出发框架,使用它可以轻松的调起系统通知。通过它可以很方便的做一个定时通知的功能应用。本文将调用win10toast实现定时调起系统通知功能,需要的可以参考一下
    2022-01-01
  • pycharm-professional-2020.1下载与激活的教程

    pycharm-professional-2020.1下载与激活的教程

    这篇文章主要介绍了pycharm-professional-2020.1下载与激活的教程,本文分为安装和永久激活两部分内容,需要的朋友可以参考下
    2020-09-09
  • Python实现对数坐标系绘制与自定义映射

    Python实现对数坐标系绘制与自定义映射

    这篇文章主要为大家学习介绍了如何利用Python实现对数坐标系绘制与坐标自定义映射,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-08-08
  • Python学习之循环方法详解

    Python学习之循环方法详解

    循环是有着周而复始的运动或变化的规律;在 Python 中,循环的操作也叫做 遍历。与现实中一样,Python 中也同样存在着无限循环的方法与有限循环的方法。本文将通过示例详细讲解Python中的循环方法,需要的可以参考一下
    2022-03-03
  • Python检测网络延迟的代码

    Python检测网络延迟的代码

    这篇文章主要介绍了Python检测网络延迟的代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05

最新评论