控制的前提是已经运行Microsip.exe 首先选择文件, 选择txt格式文件,一行一个手机号格式;如下 点击拨打下一个,就会自动输入自动拨打 代码: import tkinterimport win32guiimport win32confrom tk
控制的前提是已经运行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的资料请关注易盾网络其它相关文章!