炉石战棋一键断网,整活必备!!! (附下载可用exe程序)

实现思路:

1. 直接使用[baiipconfig/release]释放当前ip,然后再使用[ipconfig/renew]重新获取ip,从而实现断网重连的需求,奈何经过测试,断网重连之后,当场去世

2. 通过将指定程序加入到防火墙规则,开启/关闭规则,实现断网重连的需求,经过测试,可行

 

备注:

1. 需要关闭电脑管家等安全工具,否则会提示病毒

2. 首次使用,需要找到指定的软件的exe路径,并点击生成,默认断网(生成之后下次使用不用再次重复此步骤)

3. 脚本打包方法入口:跳转

代码如下:

from tkinter import *
from tkinter.filedialog import askopenfilename
import os
import tkinter
'''
断网重连工具下载:链接:https://pan.baidu.com/s/1R2jhdQPTuGB-gwIxMu_SHg  提取码:aw7s 
'''


class Gui(object):
    def __init__(self):
        self.root = tkinter.Tk()
        self.path = StringVar()
        # 禁止拖动窗口大小
        self.root.resizable(width=False, height=False)
        # 强制显示在所有页面的最顶层
        self.root.attributes("-topmost", True)
        # 去掉边框
        self.root.overrideredirect(1)
        self.root.geometry("170x200+10+10")
        # 选择路径
        self.entry_yj = tkinter.Entry(master=self.root, textvariable=self.path, width=22)
        self.entry_yj.grid(rowspan=2, columnspan=4)
        # 按钮控件
        Button(self.root, text="选择程序", command=self.select_path, width=10, relief=RIDGE).grid(row=2, column=1)
        self.button_tj = tkinter.Button(master=self.root, text='生成', command=self.add,
                                        relief=RIDGE, width=10, cursor='sizing')
        self.button_tj.grid(row=2, column=2)
        self.button_tj = tkinter.Button(master=self.root, text='断网', command=off,
                                        relief=RIDGE, width=10, height=5, cursor='sizing')
        self.button_tj.grid(row=3, column=1)
        self.button_tj = tkinter.Button(master=self.root, text='联网', command=reconnection,
                                        width=10, height=5, cursor='sizing', relief=RIDGE)
        self.button_tj.grid(row=3, column=2)
        self.button_tj = tkinter.Button(master=self.root, text='关闭工具', command=self.turn,
                                        width=22, height=2, cursor='tcross', relief=RIDGE)
        self.button_tj.grid(rowspan=4, columnspan=4)
        self.root.mainloop()

    def turn(self):
        self.root.destroy()

    def select_path(self):
        path_ = askopenfilename()
        self.path.set(path_)
        return path_

    def add(self):
        # 需要将将文件路径的/替换为\,否则命令提示违规
        add(self.entry_yj.get().replace('/', '\\'))


def add(path):
    os.system(r'netsh advfirewall firewall add rule name="hh_ldp"  dir=out'
              r'  program="{}"  action=block'.format(path))


def off():
    os.system('netsh advfirewall firewall set rule name="hh_ldp" new enable=yes')


def reconnection():
    os.system('netsh advfirewall firewall set rule name="hh_ldp" new enable=no')


if __name__ == '__main__':
    Gui()

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值