网络编程
位置:首页>> 网络编程>> Python编程>> python生成可执行exe控制Microsip自动填写号码并拨打功能

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

作者:我不喜欢这个世界  发布时间:2023-08-11 04:51:00 

标签:python,生成,exe

控制的前提是已经运行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

来源:https://blog.csdn.net/m0_38124502/article/details/117986206

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com