吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10078|回复: 275
收起左侧

[原创工具] 百度网盘“智能看图”功能卸载工具"

    [复制链接]
qq465881818 发表于 2025-10-3 12:02


[Python] 纯文本查看 复制代码
import tkinter as tk
from tkinter import ttk, messagebox, scrolledtext
import os
import subprocess
import sys
import ctypes


class UninstallerApp:
    def __init__(self, root):
        self.root = root
        self.root.title("百度网盘“智能看图”功能卸载工具")
        self.root.geometry("650x550")
        self.root.resizable(True, True)

        # 设置中文字体
        self.style = ttk.Style()
        self.style.configure("TLabel", font=("SimHei", 10))
        self.style.configure("TButton", font=("SimHei", 10))

        # 创建界面组件
        self.create_widgets()

        # 检查是否以管理员身份运行
        self.check_admin()

    def create_widgets(self):
        # 主框架
        main_frame = ttk.Frame(self.root, padding=20)
        main_frame.pack(fill=tk.BOTH, expand=True)

        # 标题
        title_label = ttk.Label(
            main_frame,
            text="百度网盘“智能看图”功能卸载工具",
            font=("SimHei", 14, "bold")
        )
        title_label.pack(pady=(0, 20))

        # 说明文本
        info_text = """此工具将删除百度网盘捆绑的“智能看图”软件
请确保以管理员身份运行此程序以保证卸载效果

卸载内容包括:
1. 相关注册表项
2. 程序安装目录文件"""
        info_label = ttk.Label(main_frame, text=info_text, justify=tk.LEFT)
        info_label.pack(anchor=tk.W, pady=(0, 20))

        # 操作按钮区域
        button_frame = ttk.LabelFrame(main_frame, text="操作选择")
        button_frame.pack(fill=tk.X, pady=(0, 20))

        # 按钮容器
        btn_container = ttk.Frame(button_frame)
        btn_container.pack(pady=10, padx=10, fill=tk.X)

        # 完整卸载按钮
        self.uninstall_btn = ttk.Button(
            btn_container,
            text="开始完整卸载",
            command=self.start_full_uninstall
        )
        self.uninstall_btn.pack(side=tk.LEFT, padx=(0, 10))

        # 单独删除注册表按钮
        self.delete_reg_btn = ttk.Button(
            btn_container,
            text="仅删除注册表项",
            command=self.delete_registry_keys
        )
        self.delete_reg_btn.pack(side=tk.LEFT, padx=(0, 10))

        # 单独删除程序文件按钮
        self.delete_files_btn = ttk.Button(
            btn_container,
            text="仅删除程序文件",
            command=self.delete_program_files
        )
        self.delete_files_btn.pack(side=tk.LEFT)

        # 日志区域
        log_frame = ttk.LabelFrame(main_frame, text="操作日志")
        log_frame.pack(fill=tk.BOTH, expand=True, pady=(0, 20))

        self.log_text = scrolledtext.ScrolledText(
            log_frame,
            wrap=tk.WORD,
            font=("SimHei", 10)
        )
        self.log_text.pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
        self.log_text.config(state=tk.DISABLED)

        # 退出按钮
        exit_btn = ttk.Button(
            main_frame,
            text="退出",
            command=self.root.quit
        )
        exit_btn.pack(side=tk.RIGHT)

    def log(self, message):
        """向日志区域添加信息"""
        self.log_text.config(state=tk.NORMAL)
        self.log_text.insert(tk.END, message + "\n")
        self.log_text.see(tk.END)
        self.log_text.config(state=tk.DISABLED)
        self.root.update_idletasks()

    def check_admin(self):
        """检查是否以管理员身份运行"""
        try:
            is_admin = (os.getuid() == 0)
        except AttributeError:
            is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0

        if not is_admin:
            self.log("警告:程序未以管理员身份运行,可能导致卸载不完整!")
            self.log("建议关闭程序,右键选择“以管理员身份运行”")
        else:
            self.log("已确认管理员权限,可正常卸载")

    def run_reg_command(self, command):
        """执行注册表命令"""
        try:
            result = subprocess.run(
                command,
                shell=True,
                check=True,
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE,
                text=True
            )
            return True, result.stdout
        except subprocess.CalledProcessError as e:
            return False, e.stderr

    def delete_registry_keys(self):
        """删除相关注册表项"""
        # 禁用按钮防止重复操作
        self._disable_buttons()

        self.log("\n==========================================")
        self.log("开始删除注册表项...")

        # 注册表项列表
        reg_keys = [
            ("HKEY_CLASSES_ROOT\\BaiduNetdiskImageViewerAssociations", "删除 [1/3]"),
            ("HKEY_CURRENT_USER\\Software\\Baidu\\BaiduNetdiskImageViewer", "删除 [2/3]")
        ]

        # 删除注册表项
        for key, msg in reg_keys:
            self.log(f"{msg} {key}")
            success, _ = self.run_reg_command(f'reg delete "{key}" /f >nul 2>&1')
            if success:
                self.log("   ✅ 删除成功")
            else:
                self.log("   ❌ 删除失败或项目不存在")

        # 删除特定值
        self.log("删除 [3/3] HKEY_CURRENT_USER\\Software\\RegisteredApplications 中的 BaiduNetdiskImageViewer")
        success, _ = self.run_reg_command(
            'reg delete "HKEY_CURRENT_USER\\Software\\RegisteredApplications" /v "BaiduNetdiskImageViewer" /f >nul 2>&1'
        )
        if success:
            self.log("   ✅ 删除成功")
        else:
            self.log("   ❌ 删除失败或项目不存在")

        self.log("注册表项删除操作完成")
        self.log("==========================================\n")

        # 恢复按钮状态
        self._enable_buttons()

    def delete_program_files(self):
        """删除程序文件目录"""
        # 禁用按钮防止重复操作
        self._disable_buttons()

        self.log("\n==========================================")
        self.log("开始删除程序文件...")

        # 程序路径
        appdata = os.getenv('APPDATA')
        imageviewer_path = os.path.join(appdata, 'baidu', 'BaiduNetdisk', 'module', 'ImageViewer')

        if os.path.exists(imageviewer_path):
            self.log(f"找到程序目录: {imageviewer_path}")
            self.log("正在删除程序文件...")

            try:
                # 尝试删除目录
                if os.path.isdir(imageviewer_path):
                    # 使用rmdir命令删除目录
                    result = subprocess.run(
                        f'rmdir /s /q "{imageviewer_path}"',
                        shell=True,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE,
                        text=True
                    )

                    if result.returncode == 0:
                        self.log("   ✅ 程序文件删除成功")
                    else:
                        self.log("   ❌ 程序文件删除失败,可能文件正在使用中")
                        self.log(f"   请手动删除: {imageviewer_path}")
            except Exception as e:
                self.log(f"   ❌ 删除时发生错误: {str(e)}")
                self.log(f"   请手动删除: {imageviewer_path}")
        else:
            self.log("   程序目录不存在或已被删除")

        self.log("程序文件删除操作完成")
        self.log("==========================================\n")

        # 恢复按钮状态
        self._enable_buttons()

    def start_full_uninstall(self):
        """开始完整卸载流程"""
        # 禁用按钮防止重复操作
        self._disable_buttons()

        try:
            self.log("==========================================")
            self.log("开始完整卸载流程...")

            # 先删除注册表
            self.delete_registry_keys()

            # 再删除程序文件
            self.delete_program_files()

            # 完成信息
            self.log("\n==========================================")
            self.log("完整卸载完成!")
            self.log("==========================================")
            self.log("\n建议重启计算机以确保所有更改生效")

            appdata = os.getenv('APPDATA')
            self.log(f"如果问题仍然存在,请检查以下路径是否还有残留文件:")
            self.log(f"{appdata}\\baidu\\BaiduNetdisk\\module\\ImageViewer")

            messagebox.showinfo("完成", "卸载已完成!建议重启计算机以确保所有更改生效。")
        except Exception as e:
            self.log(f"\n发生错误: {str(e)}")
            messagebox.showerror("错误", f"卸载过程中发生错误: {str(e)}")
        finally:
            # 恢复按钮状态
            self._enable_buttons()

    def _disable_buttons(self):
        """禁用所有操作按钮"""
        self.uninstall_btn.config(state=tk.DISABLED)
        self.delete_reg_btn.config(state=tk.DISABLED)
        self.delete_files_btn.config(state=tk.DISABLED)

    def _enable_buttons(self):
        """启用所有操作按钮"""
        self.uninstall_btn.config(state=tk.NORMAL)
        self.delete_reg_btn.config(state=tk.NORMAL)
        self.delete_files_btn.config(state=tk.NORMAL)


if __name__ == "__main__":
    # 检查是否以管理员身份运行,如果不是则尝试重启
    try:
        is_admin = (os.getuid() == 0)
    except AttributeError:
        is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0

    if not is_admin:
        # 尝试以管理员身份重启程序
        ctypes.windll.shell32.ShellExecuteW(
            None, "runas", sys.executable, " ".join(sys.argv), None, 1
        )
        sys.exit()

    root = tk.Tk()
    app = UninstallerApp(root)
    root.mainloop()





https://wwux.lanzouu.com/i1jka37jopih
密码:d4vb


b3ddfe13-73a4-46d9-865f-c31cb2b03707.png f5c17758-adbd-4107-9ea5-3b80d4b5b710.png 微信图片_2025-10-03_120021_985.png




免费评分

参与人数 77吾爱币 +82 热心值 +68 收起 理由
gtx7802 + 1 + 1 谢谢@Thanks!
梧桐清秋 + 1 + 1 我很赞同!
xingshizhuyi + 1 + 1 我很赞同!
cydlongzhe + 1 + 1 谢谢@Thanks!
Xiaoran316 + 1 我很赞同!
chaosyy + 1 + 1 谢谢@Thanks!
Flying9901 + 1 + 1 我很赞同!
格林hans + 1 + 1 我很赞同!
cocxxn + 1 + 1 我很赞同!
yueshuang98 + 1 + 1 我很赞同!
nemojm + 1 + 1 谢谢@Thanks!
woi1111 + 1 谢谢@Thanks!
jyecdd + 1 我很赞同!
uuuucccccce + 1 我很赞同!
laochous + 1 + 1 谢谢@Thanks!
sun0371 + 1 + 1 百度app才叫可怕,啥都有,要不是为了广告券,真不想用
YBYBYB + 1 + 1 我很赞同!
fengbuyanqi + 1 已经处理,感谢您对吾爱破解论坛的支持!
woyaodl + 1 + 1 我很赞同!
lyllfeng + 1 + 1 谢谢@Thanks!
xueluo224 + 1 + 1 谢谢@Thanks!
itianming + 1 谢谢@Thanks!
guoruihotel + 1 + 1 谢谢@Thanks!
yuanasd + 1 + 1 我很赞同!
zkq19881228 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Roc_Kwok + 1 + 1 谢谢@Thanks!
nizeze + 1 + 1 用心讨论,共获提升!
lteng007 + 1 + 1 谢谢@Thanks!
Mayj + 1 + 1 我很赞同!
barry1204 + 1 + 1 谢谢@Thanks!
QQ535025 + 1 + 1 谢谢@Thanks!
sc162550 + 1 + 1 谢谢@Thanks!
ziaomiWIFI + 1 热心回复!
procurve + 1 + 1 谢谢@Thanks!
skinpjw + 1 谢谢@Thanks!
HVH22 + 1 + 1 谢谢@Thanks!
DickyJordan + 1 + 1 我很赞同!
残梦〆断忆 + 1 + 1 我很赞同!
lzd759125184 + 1 + 1 谢谢@Thanks!
rabbitwong + 1 谢谢@Thanks!
ty_stone + 1 + 1 谢谢@Thanks!
追逐飞翔 + 1 + 1 谢谢@Thanks!
xn8023 + 1 谢谢@Thanks!
ronald163 + 1 + 1 谢谢@Thanks!
猫被鱼叼走了 + 1 + 1 谢谢@Thanks!
mist123 + 1 我很赞同!
theStyx + 2 + 1 谢谢@Thanks!
Issacclark1 + 1 谢谢@Thanks!
ocean4028 + 1 + 1 我很赞同!
klmytwb + 1 + 1 谢谢@Thanks!
qqxx + 1 + 1 谢谢@Thanks!
7fMeteor + 1 + 1 谢谢@Thanks!
long8586 + 1 + 1 谢谢@Thanks!
MagicSkyHT + 1 + 1 我很赞同!
zhisha + 1 + 1 谢谢@Thanks!
固相膜 + 1 + 1 我很赞同!
evil_bomb + 1 + 1 谢谢@Thanks!
YZM23333 + 3 + 1 我很赞同!
wolfking05 + 1 + 1 用心讨论,共获提升!
独孤决 + 1 + 1 我很赞同!
xxcs494355 + 1 + 1 谢谢@Thanks!
yygfml + 1 + 1 我很赞同!
jacky_0702 + 1 + 1 谢谢@Thanks!
acail + 1 + 1 谢谢@Thanks!
柒點 + 1 + 1 谢谢@Thanks!
sumile + 1 + 1 谢谢@Thanks!
大雄1989 + 1 + 1 谢谢@Thanks!
阿肥 + 1 + 1 谢谢@Thanks!
abcbbb007 + 1 + 1 谢谢@Thanks!
yanglinman + 1 谢谢@Thanks!
daixiangjiang + 1 + 1 热心回复!
baili0811 + 1 + 1 谢谢@Thanks!
FYL11162022 + 1 + 1 热心回复!
ksd2000sh + 1 + 1 谢谢@Thanks!
dukkha739 + 1 + 1 谢谢@Thanks!
梦如星陨 + 1 + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

手机之狼 发表于 2025-10-3 15:51
百度网盘的那个AI才讨厌了,如果有卸载云一朵就好了。
阿肥 发表于 2025-10-3 22:26
为了用这个工具,我再把卸载了的百度网盘给装回来
xiangzz 发表于 2025-10-3 16:27
大佬,来一个wps去预览看图的更好。都没地方下载
梦如星陨 发表于 2025-10-3 14:13
谢谢分享!!!!
Lrr35266046 发表于 2025-10-3 14:23
好工具!!
dukkha739 发表于 2025-10-3 14:29
谢谢分享  一会重启生效
xjd2000 发表于 2025-10-3 14:30
太及时了,百毒这个老流氓
Finssss 发表于 2025-10-3 16:52
这个是真的好啊,顶
liyifeng 发表于 2025-10-3 17:00
卸载完不知道啥时候又安装回来了
Akalinblue 发表于 2025-10-3 17:37
那个什么云朵ai助手能删吗,一天到晚占着位置,关都关不掉
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-1-13 12:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表