吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1062|回复: 23
收起左侧

[学习记录] 潜水两年了,发个windows延迟更新的py源码

[复制链接]
yrzzz1998 发表于 2025-7-14 16:34
自己用的,需要管理员身份运行,得手动去设置里设置延迟更新的周数发成品怕有人报毒,直接上源码
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import winreg
import tkinter as tk
from tkinter import messagebox, ttk
  
def set_registry_value():
    key_path = r"SOFTWARE\Microsoft\WindowsUpdate\UX\Settings"
    value_name = "FlightSettingsMaxPauseDays"
    value_data = 36500
     
    try:
        with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_path, 0, winreg.KEY_WRITE) as key:
            winreg.SetValueEx(key, value_name, 0, winreg.REG_DWORD, value_data)
            messagebox.showinfo(" 成功", "注册表值设置成功!\n\n请打开Windows设置→更新与安全→Windows更新→暂停更新\n在此处设置最大暂停周数。\n\n注意:由于周数较多,设置时可能会卡顿,请耐心等待。")
             
    except WindowsError as e:
        if e.winerror  == 2:
            try:
                with winreg.CreateKey(winreg.HKEY_LOCAL_MACHINE, key_path) as key:
                    winreg.SetValueEx(key, value_name, 0, winreg.REG_DWORD, value_data)
                    messagebox.showinfo(" 成功", "注册表键和值创建成功!\n\n请打开Windows设置→更新与安全→Windows更新→暂停更新\n在此处设置最大暂停周数。\n\n注意:由于周数较多,设置时可能会卡顿,请耐心等待。")
            except WindowsError as e:
                messagebox.showerror(" 错误", f"创建键失败: {e}\n\n请以管理员权限运行此程序")
        elif e.winerror  == 5:
            messagebox.showerror(" 错误", "权限不足,请以管理员身份运行此程序")
        else:
            messagebox.showerror(" 错误", f"操作失败: {e}")
  
def create_ui():
    root = tk.Tk()
    root.title("Windows 更新暂停设置工具")
    root.geometry("500x500")
     
    try:
        root.iconbitmap(default='system.ico')
    except:
        pass
     
    main_frame = ttk.Frame(root, padding="20")
    main_frame.pack(expand=True,  fill=tk.BOTH)
    title_label = ttk.Label(main_frame, text="Windows更新暂停设置工具", font=('Arial', 14, 'bold'))
    title_label.pack(pady=10)
     
    # 说明文本
    info_text = """此工具将修改注册表,允许您设置更长的Windows更新暂停时间。
  
操作步骤:
1. 点击下方"设置注册表"按钮
2. 成功后,打开Windows设置
3. 转到"更新与安全"→"Windows更新"
4. 点击"暂停更新"设置最大暂停周数
  
注意:
- 需要管理员权限运行
- 设置大量周数时可能会卡顿,请耐心等待
- 36500天≈100年(最大值)
"""
    info_label = ttk.Label(main_frame, text=info_text, justify=tk.LEFT)
    info_label.pack(pady=10,  padx=10, anchor=tk.W)
    btn_frame = ttk.Frame(main_frame)
    btn_frame.pack(pady=20)
    set_btn = ttk.Button(btn_frame, text="设置注册表", command=set_registry_value)
    set_btn.pack(side=tk.LEFT,  padx=10)
    exit_btn = ttk.Button(btn_frame, text="退出", command=root.destroy)
    exit_btn.pack(side=tk.LEFT,  padx=10)
    copyright_label = ttk.Label(main_frame, text="© 2025 Windows更新管理工具  by 0.2℃", foreground="gray")
    copyright_label.pack(side=tk.BOTTOM,  pady=5)
    root.mainloop()
  
if __name__ == "__main__":
    create_ui()



上个我自己的
wechat_2025-07-14_163141_462.png

免费评分

参与人数 4吾爱币 +3 热心值 +3 收起 理由
头铁又刚 + 1 + 1 热心回复!
oldbabyjsx + 1 谢谢@Thanks!
bg_yx + 1 我很赞同!
dengbin + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

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

qwertyuiop1822 发表于 2025-7-14 16:50
改注册表用reg文件更方便,不然还得装个Python,可以看:https://zhuanlan.zhihu.com/p/642914883

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]
"FlightSettingsMaxPauseDays"=dword:00001b58
"PauseFeatureUpdatesStartTime"="2023-07-07T10:00:52Z"
"PauseFeatureUpdatesEndTime"="2042-09-05T09:59:52Z"
"PauseQualityUpdatesStartTime"="2023-07-07T10:00:52Z"
"PauseQualityUpdatesEndTime"="2042-09-05T09:59:52Z"
"PauseUpdatesStartTime"="2023-07-07T09:59:52Z"
"PauseUpdatesExpiryTime"="2042-09-05T09:59:52Z"

免费评分

参与人数 5吾爱币 +4 热心值 +4 收起 理由
keeeeeen + 1 感谢您的宝贵经验
Marken888 + 1 + 1 用心讨论,共获提升!
ashergo + 1 + 1 用心讨论,共获提升!
xoyi + 1 我很赞同!
ARondMan + 1 + 1 热心回复!

查看全部评分

devSteven 发表于 2025-7-14 17:11
dengbin 发表于 2025-7-14 18:19
能提供源码,提高自己的动手能力,非常不错
wjqok 发表于 2025-7-14 18:30
[Asm] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@echo off
:menu
cls
echo 请选择功能:
echo 1. 暂停更新至2053年
echo 2. 恢复更新
set /p choice=请输入选项(1或2):
  
if "%choice%"=="1" (
call :pause_updates
) else if "%choice%"=="2" (
call :resume_updates
) else (
echo 无效的选项,请重新输入。
timeout /t 2 >nul
goto menu
)
  
pause
exit
  
:pause_updates
echo 暂停更新...
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "FlightSettingsMaxPauseDays" /t REG_DWORD /d 7152 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesStartTime" /t REG_SZ /d "2023-07-07T10:00:52Z" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesEndTime" /t REG_SZ /d "2053-09-05T09:59:52Z" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesStartTime" /t REG_SZ /d "2023-07-07T10:00:52Z" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesEndTime" /t REG_SZ /d "2053-09-05T09:59:52Z" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesStartTime" /t REG_SZ /d "2023-07-07T09:59:52Z" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesExpiryTime" /t REG_SZ /d "2053-09-05T09:59:52Z" /f
echo 更新已暂停。
timeout /t 2 >nul
goto :eof
  
:resume_updates
echo 恢复默认...
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "FlightSettingsMaxPauseDays" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesStartTime" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseFeatureUpdatesEndTime" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesStartTime" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseQualityUpdatesEndTime" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesStartTime" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v "PauseUpdatesExpiryTime" /f
echo 已恢复默认设置。
timeout /t 2 >nul
goto :eof


我用这个批处理多次了。
weishuirenjia 发表于 2025-7-14 18:37

我也是用的这个,对于我们这种菜很友好
OmegaMolecule 发表于 2025-7-14 19:12
值得提醒的是Windows部分组件的更新(安装)会依赖部分更新服务,最经典的比如WSL2,直接禁用更新可能导致这些组件出问题
q303772510 发表于 2025-7-14 19:15
谢谢分享!~~
yll007007 发表于 2025-7-14 19:26
感谢分享,正好解决电脑自动更新的问题
ashergo 发表于 2025-7-14 22:15
感谢分享,老是手动设置麻烦死了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-8-13 18:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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