【python】开发制作的急速快搜软件。

软件界面

# -*- coding:utf-8 -*-
import os,sys
from configparser import ConfigParser
import psutil
import wx
import wx.adv
import requests
cf = ConfigParser()


tip = '就绪:'


class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title='极速快搜V1.1   【作者:谢海亮】', size=(630, 160), name='frame', style=541072384)
        self.启动窗口 = wx.Panel(self)
        self.Centre()
        self.启动窗口.Bind(wx.EVT_WINDOW_DESTROY, self.启动窗口_将被关闭) #wx.CloseEvent wx.EVT_CLOSE
        self.编辑框_关键字 = wx.TextCtrl(self.启动窗口, size=(523, 30), pos=(13, 98), value='', name='text', style=wx.TE_PROCESS_ENTER)
        编辑框_关键字_字体 = wx.Font(10, 74, 90, 700, False, 'Tahoma', 33)
        self.编辑框_关键字.SetFont(编辑框_关键字_字体)
        self.编辑框_关键字.Bind(wx.EVT_TEXT_ENTER, self.编辑框_关键字_按下Enter键)
        self.按钮_搜索 = wx.Button(self.启动窗口, size=(78, 32), pos=(539, 97), label='搜索', name='button')
        self.按钮_搜索.Bind(wx.EVT_BUTTON, self.按钮_搜索_按钮被单击)
        self.标签1 = wx.StaticText(self.启动窗口, size=(300, 14), pos=(16, 77), label='文件名称含有关键字【不同关键字之间使用空格】', name='staticText',
                                 style=0)
        self.单选框_所有类型文件 = wx.RadioButton(self.启动窗口, size=(96, 24), pos=(11, 0), name='radioButton', label='所有类型文件')
        self.单选框_所有类型文件.SetValue(True)
        self.单选框_所有类型文件.Bind(wx.EVT_RADIOBUTTON, self.单选框_所有类型文件_状态被改变)
        self.多选框_Word文档 = wx.CheckBox(self.启动窗口, size=(68, 24), pos=(12, 19), name='check', label='Word文档', style=16384)
        self.多选框_Word文档.Bind(wx.EVT_CHECKBOX, self.多选框_Word文档_狀态被改变)
        self.多选框_电子表格 = wx.CheckBox(self.启动窗口, size=(73, 24), pos=(85, 19), name='check', label='电子表格', style=16384)
        self.多选框_电子表格.Bind(wx.EVT_CHECKBOX, self.多选框_电子表格_狀态被改变)
        self.多选框_幻灯片 = wx.CheckBox(self.启动窗口, size=(61, 24), pos=(162, 19), name='check', label='幻灯片', style=16384)
        self.多选框_幻灯片.Bind(wx.EVT_CHECKBOX, self.多选框_幻灯片_狀态被改变)
        self.多选框_视频文件 = wx.CheckBox(self.启动窗口, size=(69, 24), pos=(229, 19), name='check', label='视频文件', style=16384)
        self.多选框_视频文件.Bind(wx.EVT_CHECKBOX, self.多选框_视频文件_狀态被改变)
        self.多选框_音频文件 = wx.CheckBox(self.启动窗口, size=(73, 24), pos=(303, 19), name='check', label='音频文件', style=16384)
        self.多选框_音频文件.Bind(wx.EVT_CHECKBOX, self.多选框_音频文件_狀态被改变)
        self.多选框_图片文件 = wx.CheckBox(self.启动窗口, size=(73, 24), pos=(379, 19), name='check', label='图片文件', style=16384)
        self.多选框_图片文件.Bind(wx.EVT_CHECKBOX, self.多选框_图片文件_狀态被改变)
        self.多选框_其它格式 = wx.CheckBox(self.启动窗口, size=(73, 24), pos=(455, 19), name='check', label='其它格式', style=16384)
        self.多选框_其它格式.Bind(wx.EVT_CHECKBOX, self.多选框_其它格式_狀态被改变)
        self.编辑框_其它格式 = wx.TextCtrl(self.启动窗口, size=(89, 26), pos=(528, 19), value='', name='text', style=0)
        self.编辑框_其它格式.Disable()
        self.编辑框_其它格式.Bind(wx.EVT_TEXT, self.编辑框_其它格式_内容被改变)
        self.标签_更多功能 = wx.StaticText(self.启动窗口, size=(69, 14), pos=(549, 2), label='爱心支持>>', name='staticText',
                                     style=2321)
        标签_更多功能_字体 = wx.Font(8, 74, 90, 400, True, 'Tahoma', 33)
        self.标签_更多功能.SetFont(标签_更多功能_字体)
        self.标签_更多功能.SetForegroundColour((255, 0, 0, 255))
        self.标签_更多功能.Bind(wx.EVT_LEFT_DOWN, self.标签_更多功能_鼠标左键按下)
        self.标签_更多功能.Bind(wx.EVT_LEFT_UP, self.标签_更多功能_鼠标左键松开)
        self.标签2 = wx.StaticText(self.启动窗口, size=(602, 3), pos=(10, 135), label='', name='staticText', style=2304)
        self.标签2.Disable()
        self.标签2.SetOwnBackgroundColour((112, 112, 112, 255))
        self.多选框_指定路径 = wx.CheckBox(self.启动窗口, size=(71, 24), pos=(14, 49), name='check', label='指定路径:', style=16384)
        self.多选框_指定路径.Bind(wx.EVT_CHECKBOX, self.多选框_指定路径_狀态被改变)
        self.编辑框_路径 = wx.TextCtrl(self.启动窗口, size=(446, 29), pos=(90, 46), value='', name='text', style=0)
        self.编辑框_路径.Bind(wx.EVT_TEXT, self.编辑框_路径_内容被改变)
        self.编辑框_路径.Disable()
        self.按钮_浏览 = wx.Button(self.启动窗口, size=(77, 29), pos=(540, 45), label='...', name='button')
        self.按钮_浏览.Bind(wx.EVT_BUTTON, self.按钮_浏览_按钮被单击)
        self.按钮_浏览.Disable()
        self.标签_版权 = wx.StaticText(self.启动窗口, size=(582, 43), pos=(12, 154),
                                   label='软件说明:\n本软件免费,感谢您的使用。如果您觉得这个软件对您有所帮助请对作者给予鼓励和支持,请关注微信公众号  "IT小技能"(搜索:it_114),视同支持作者,您将作为合法授权用户使用该软件。 ',
                                   name='staticText', style=0)

        if os.path.exists("banquan.png"):
            图片框_软件信息_图片 = wx.Image(r'banquan.png').Scale(600, 120).ConvertToBitmap()
            self.图片框_软件信息 = wx.StaticBitmap(self.启动窗口, bitmap=图片框_软件信息_图片, size=(600, 120), pos=(12, 149),
                                        name='staticBitmap', style=0)
        else:
            banquanurl="https://mmbiz.qpic.cn/mmbiz_png/0lwOrR31Ey7icQF9JhpIfVfqx6wTicNmrBuia8q5rl3alkkt4CDIw2iaZPn9K2SnqycQqIE0J5lbxl6bK8aVJTlicCQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1"
            downloadFile(banquanurl,"banquan.png")
        self.iniParm()


    def 编辑框_关键字_按下Enter键(self, event):
        print('编辑框_关键字,按下Enter键')

    def 按钮_搜索_按钮被单击(self, event):
        print('按钮_搜索,按钮被单击')

    def 单选框_所有类型文件_状态被改变(self, event):
        print('单选框_所有类型文件,状态被改变')

    def 多选框_Word文档_狀态被改变(self, event):
        print('多选框_Word文档,狀态被改变')

    def 多选框_电子表格_狀态被改变(self, event):
        print('多选框_电子表格,狀态被改变')

    def 多选框_幻灯片_狀态被改变(self, event):
        print('多选框_幻灯片,狀态被改变')

    def 多选框_视频文件_狀态被改变(self, event):
        print('多选框_视频文件,狀态被改变')

    def 多选框_音频文件_狀态被改变(self, event):
        print('多选框_音频文件,狀态被改变')

    def 多选框_图片文件_狀态被改变(self, event):
        print('多选框_图片文件,狀态被改变')

    def 多选框_其它格式_狀态被改变(self, event):
        print('多选框_其它格式,狀态被改变')

    def 编辑框_其它格式_内容被改变(self, event):
        print('编辑框_其它格式,内容被改变')

    def 标签_更多功能_鼠标左键按下(self, event):
        print('标签_更多功能,鼠标左键按下')

    def 标签_更多功能_鼠标左键松开(self, event):
        print('标签_更多功能,鼠标左键松开')

    def 多选框_指定路径_狀态被改变(self, event):
        print('多选框_指定路径,狀态被改变')

    def 编辑框_路径_内容被改变(self, event):
        print('编辑框_路径,内容被改变')

    def 按钮_浏览_按钮被单击(self, event):
        print('按钮_浏览,按钮被单击')


    def 启动窗口_将被关闭(self, event):
        p = os.system("start "+EverythingFile + " -exit")


    def 编辑框_关键字_按下Enter键(self, event):
        self.按钮_搜索_按钮被单击(wx.EVT_TEXT_ENTER)


    def 按钮_搜索_按钮被单击(self, event):
        extStr = self.getExtStr()
        iniStr = "start "+EverythingFile + "  -admin  -filter  EVERYTHING -noww -nocase "
        if self.多选框_指定路径.Value == True and os.path.isdir(self.编辑框_路径.Value.strip()):
            cmdStr = iniStr + ' -filename "' + str(self.编辑框_路径.Value.strip()) + '"'
        else:
            cmdStr = iniStr

        keyStr = str(self.编辑框_关键字.Value).strip()
        while str(keyStr).find("  ") > 1:
            keyStr = str(keyStr).replace("  ", " ")
        keyStr = keyStr.replace(" ", "*")

        if extStr == "": extStr = "*.*"
        if keyStr != "":  extStr = extStr.replace("*.", "*" + keyStr + "*.")
        cmdStr = cmdStr + ' -s "' + extStr + '"'

        print(cmdStr)
        p = os.system(cmdStr)
        #p = subprocess.Popen(cmdStr, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)


    def 单选框_所有类型文件_状态被改变(self, event):
        if self.单选框_所有类型文件.Value == True:
            self.多选框_Word文档.SetValue(False)
            self.多选框_电子表格.SetValue(False)
            self.多选框_幻灯片.SetValue(False)
            self.多选框_视频文件.SetValue(False)
            self.多选框_音频文件.SetValue(False)
            self.多选框_图片文件.SetValue(False)
            self.多选框_其它格式.SetValue(False)
            self.编辑框_其它格式.Disable()


    def 多选框_Word文档_狀态被改变(self, event):
        self.单选框_所有类型文件.SetValue(False)


    def 多选框_电子表格_狀态被改变(self, event):
        self.单选框_所有类型文件.SetValue(False)


    def 多选框_幻灯片_狀态被改变(self, event):
        self.单选框_所有类型文件.SetValue(False)


    def 多选框_视频文件_狀态被改变(self, event):
        self.单选框_所有类型文件.SetValue(False)


    def 多选框_音频文件_狀态被改变(self, event):
        self.单选框_所有类型文件.SetValue(False)


    def 多选框_图片文件_狀态被改变(self, event):
        self.单选框_所有类型文件.SetValue(False)


    def 多选框_其它格式_狀态被改变(self, event):
        self.单选框_所有类型文件.SetValue(False)
        if self.多选框_其它格式.Value == True:
            self.编辑框_其它格式.Enable()
            self.编辑框_其它格式.SetFocus()
        elif self.多选框_其它格式.Value == False:
            self.编辑框_其它格式.Disable()


    def 编辑框_其它格式_内容被改变(self, event):
        print('编辑框_其它格式,内容被改变')


    def 标签_更多功能_鼠标左键松开(self, event):
        if self.标签_更多功能.LabelText == "爱心支持>>":
            self.标签_更多功能.SetLabelText("<<爱心支持")
            self.SetSize(630, 300)
        elif self.标签_更多功能.LabelText == "<<爱心支持":
            self.标签_更多功能.SetLabelText("爱心支持>>")
            self.SetSize(630, 160)
        print('标签_更多功能,鼠标左键松开')

    def 多选框_指定路径_狀态被改变(self, event):
        if self.多选框_指定路径.Value == True:
            self.按钮_浏览.Enable()
            self.按钮_浏览.SetFocus()
        elif self.多选框_指定路径.Value == False:
            self.按钮_浏览.Disable()
            self.编辑框_路径.Disable()


    def 编辑框_路径_内容被改变(self, event):
        print('编辑框_路径,内容被改变')


    def 按钮_浏览_按钮被单击(self, event):
        path = wx.DirSelector("选择文件夹路径")
        if path == None or len(path) < 3:
            self.编辑框_路径.SetValue('')
            return
        self.编辑框_路径.SetValue(path)
        .................
    def iniParm(self):
        if not os.path.exists(EverythingFile):
            wx.MessageBox("程序组件 " + EverythingFile + " 不存在,程序无法运行。", caption='错误提示', style=wx.OK, parent=None)
            quit()
        if not os.path.exists(configpath):
            wx.MessageBox("配置文件 " + configpath + " 不存在,程序无法运行。", caption='错误提示', style=wx.OK, parent=None)
            quit()
        cf.read(configpath)
#########################################
#获取与服务器的链接
# 监测网络
def ifServerConnected(serverweb):
    try:
        res = requests.get(serverweb, timeout=10)
        if res.status_code == 200:
            return  True
        else:
            return False
    except Exception as e:
        return False
##################################
# 下载文件
def downloadFile(urlfile,savefile):
    connected=ifServerConnected(urlfile)
    if connected:
        content=requests.get(urlfile).content
        try:
            with open(savefile,'wb') as f:    #######################################?
                f.write(content)
                f.close()
        except Exception as e:
            print("下载错误:",e)
##################################

def Is64Windows():
    return 'PROGRAMFILES(X86)' in os.environ

def ifSelfHaveRuned():
    curpid=os.getpid()
    selfName=psutil.Process(curpid).name()
    CountNum=0
    for proc in psutil.process_iter():
        try:
            appName=proc.name()
        except(psutil.NoSuchProcess,psutil.AccessDenied,psutil.ZombieProcess):
            pass
        if selfName.lower()==appName.lower():
            CountNum=CountNum+1
    if CountNum>2:
        print("Process is Runing")
        return True
    else:
        return False

class myApp(wx.App):
    def OnInit(self):
        self.frame = Frame()
        self.frame.Show(True)
        return True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值