python生成可执行exe控制Microsip自动填写号码并拨打功能
作者:我不喜欢这个世界 发布时间:2023-08-11 04:51:00
标签:python,生成,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
来源:https://blog.csdn.net/m0_38124502/article/details/117986206


猜你喜欢
- 我们先从一个常见的Python编程错误开始说起,我已经见过非常多的程序员犯过这种错误了:def do_not_raise(user_defi
- IDE(集成开发环境)或换句话说PHP编辑器是开发人员在构建移动或Web应用必不可少的工具。在这篇文章中,我们将讨论有关PHP编辑器并分享5
- Apache2 httpd.conf 中文版 # # 基于 NCSA 服务的配
- Function Moneynm(n,m) &
- mysql 5.5 安装配置方法图文教程回忆一下mysql 5.5 安装配置方法,整理mysql 5.5 安装配置教程笔记,分享给大家。My
- 事件背景过年在家正好闲得没有太多事情,想起年前一个研发项目负责人反馈的问题:“老李啊,我们组一直在使用你这边的 gin
- 在用Python开发时(Windows环境),会碰到需要安装某个版本的第三方库,为了以后查找、安装方便,总结如下:windows版的各种Py
- 接触pytorch一天,发现pytorch上手的确比TensorFlow更快。可以更方便地实现用预训练的网络提特征。以下是提取一张jpg图像
- 一、理解tween.js如果看到上面的已经理解了,可以跳过下面的部分.下面为对Tween.js的解释 下面就介绍如何使用这个Tween了,首
- SQLserver 2000中出现“指定的服务并未以已安装的服务存在" 解决方案一、将计算机名改成大写。二、将sql server
- 本文实例为大家分享了javascript自定义加载loading效果的具体代码,供大家参考,具体内容如下加载中图片,底色为白色(看不到)效果
- Flask-WTF扩展可以把处理web表单的过程变成一种愉悦的体验。一、跨站请求伪造保护默认情况下,Flask-WTF能够保护所有表单免受跨
- 随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测
- 在自动化中, Selenium 自动化测试中有一个名字经常被提及 PageObject( 思想与面向对象的特征相 同 ) ,通常 PO 模型
- 准备开始学习Python,但是刚准备环境搭建时就遇到了下面的错误:仔细的看了看,说是缺少DLL。对于这个问题的解决办法:方法一:1. 在安装
- 字符串打印打印函数echo: 打印值,用于单值print_r(): 人类可读方式打印,用于数组var_dump():打印结构和类型,一般用于
- PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单
- 今天我们说一下使用python将word内容转换成html文件。下面一起来看一下。准备工作使用python类库PyDocX,安装方法(使用p
- 如下所示:# 访问百度,模拟自动输入搜索# 代码中引入selenium版本为:3.4.3# 通过Chrom浏览器访问发起请求# Chrom版
- numpy.linalg.norm函数的使用1、linalg = linear(线性)+ algebra(代数),norm则表示范数。首先需