无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: freesoft00
打印 上一主题 下一主题

[发布] 电脑挂机锁

    [复制链接]
31#
发表于 昨天 10:40 | 只看该作者
回复

使用道具 举报

32#
发表于 昨天 10:43 | 只看该作者
谢谢分享
回复

使用道具 举报

33#
发表于 昨天 10:47 | 只看该作者
楼主年底了得空更新一下你的系统作品,一直在用你的WIN10,谢谢!
回复

使用道具 举报

34#
发表于 昨天 11:13 | 只看该作者
感谢分享,一般直接自带的了,主要是方便

点评

我是pe下用的,pe不知道win+l是否管用,而且pe也没有设置用户密码所以win+l也不行。 教室中大屏电脑装机转软件,网络克隆,防止学生去乱点击。 启动到pe后他们看着新奇,你说了不要动,转头就有人去哪里随便点击打  详情 回复 发表于 昨天 13:22
回复

使用道具 举报

35#
发表于 昨天 11:24 | 只看该作者
谢谢分享
回复

使用道具 举报

36#
发表于 昨天 11:27 | 只看该作者
好。。。。。。
回复

使用道具 举报

37#
发表于 昨天 11:47 | 只看该作者
感谢楼主分享
回复

使用道具 举报

38#
发表于 昨天 12:41 | 只看该作者

感谢分享
回复

使用道具 举报

39#
发表于 昨天 12:55 | 只看该作者
s谢谢分享
回复

使用道具 举报

40#
发表于 昨天 13:05 | 只看该作者
界面很不错,防止别人乱动电脑。
回复

使用道具 举报

41#
发表于 昨天 13:14 | 只看该作者
谢分享!!
回复

使用道具 举报

42#
发表于 昨天 13:21 | 只看该作者
转的python版本,为防止ctrl+alt+del,必须用管理员权限运行,win7下测试通过
  1. # -*- coding: utf-8 -*-
  2. import tkinter as tk
  3. from tkinter import filedialog, messagebox
  4. import os
  5. import sys
  6. import winreg
  7. import ctypes

  8. # ==================== 1. 系统安全加固 (封锁任务管理器) ====================
  9. def is_admin():
  10.     try: return ctypes.windll.shell32.IsUserAnAdmin()
  11.     except: return False

  12. def set_lock_registry(disable=True):
  13.     # 封锁路径:同时封锁用户和默认策略
  14.     reg_paths = [
  15.         r"Software\Microsoft\Windows\CurrentVersion\Policies\System",
  16.         r"Software\Policies\Microsoft\Windows\System"
  17.     ]
  18.     value = 1 if disable else 0
  19.     for path in reg_paths:
  20.         try:
  21.             key = winreg.CreateKeyEx(winreg.HKEY_CURRENT_USER, path, 0, winreg.KEY_SET_VALUE)
  22.             winreg.SetValueEx(key, "DisableTaskMgr", 0, winreg.REG_DWORD, value)
  23.             winreg.CloseKey(key)
  24.         except: pass

  25. # 自动提升管理员权限
  26. if not is_admin():
  27.     ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
  28.     sys.exit()

  29. # ==================== 2. 配置管理 ====================
  30. INI_FILE = "LockConfig.ini"

  31. def read_config():
  32.     p, c, b = "", 8, ""
  33.     if os.path.exists(INI_FILE):
  34.         with open(INI_FILE, "r", encoding="utf-8") as f:
  35.             for line in f:
  36.                 if "Password=" in line: p = line.split("=")[1].strip()
  37.                 elif "ClickUnlockCount=" in line: c = int(line.split("=")[1].strip())
  38.                 elif "BackgroundImage=" in line: b = line.split("=")[1].strip()
  39.     return p, c, b if (b and b.lower() != "none" and os.path.exists(b)) else None

  40. def save_config(p, c, b):
  41.     with open(INI_FILE, "w", encoding="utf-8") as f:
  42.         f.write(f"Password={p}\nClickUnlockCount={c}\nBackgroundImage={b or 'none'}\n")

  43. PASSWORD, CLICK_COUNT, BG_PATH = read_config()
  44. is_locked = False

  45. # ==================== 3. 锁屏核心 (含图片轮播) ====================
  46. def start_lock_screen():
  47.     global is_locked
  48.     set_lock_registry(True) # 锁定任务管理器
  49.     is_locked = True
  50.    
  51.     root = tk.Tk()
  52.     root.overrideredirect(True)
  53.     w, h = root.winfo_screenwidth(), root.winfo_screenheight()
  54.     root.geometry(f"{w}x{h}+0+0")
  55.     root.configure(bg="#000000")
  56.     root.attributes("-topmost", True)
  57.    
  58.     # --- A. 背景层 (轮播标签) ---
  59.     bg_label = tk.Label(root, bg="#000000")
  60.     bg_label.place(x=0, y=0, relwidth=1, relheight=1)

  61.     # --- B. UI 交互层 (始终在最顶层) ---
  62.     ui_frame = tk.Frame(root, bg="#1c1c1c", highlightthickness=2, highlightbackground="#00FF00")
  63.     ui_frame.place(relx=0.5, rely=0.5, anchor="center")

  64.     tk.Label(ui_frame, text="🔒 系统锁定中", font=("微软雅黑", 22, "bold"), fg="#00FF00", bg="#1c1c1c").pack(pady=20, padx=50)

  65.     pass_var = tk.StringVar()
  66.     entry = tk.Entry(ui_frame, textvariable=pass_var, font=("Consolas", 20), show="*", width=15, justify='center', bg="#333", fg="white", insertbackground="white")
  67.     entry.pack(pady=10)

  68.     def do_unlock():
  69.         if pass_var.get() == PASSWORD:
  70.             global is_locked
  71.             is_locked = False
  72.             set_lock_registry(False) # 解除任务管理器封锁
  73.             root.destroy()
  74.             sys.exit(0)
  75.         else:
  76.             entry.config(bg="#721c24")
  77.             root.after(300, lambda: entry.config(bg="#333"))
  78.             pass_var.set("")
  79.             entry.focus_set()

  80.     tk.Button(ui_frame, text="解除锁定", font=("微软雅黑", 14, "bold"), bg="#28a745", fg="white",
  81.               width=15, command=do_unlock, activebackground="#218838", bd=0).pack(pady=20)

  82.     # --- C. 图片轮播逻辑模块 ---
  83.     img_files = []
  84.     if BG_PATH:
  85.         if os.path.isdir(BG_PATH):
  86.             # 扫描文件夹
  87.             exts = ('.png', '.jpg', '.jpeg', '.gif', '.bmp')
  88.             img_files = [os.path.join(BG_PATH, f) for f in os.listdir(BG_PATH) if f.lower().endswith(exts)]
  89.         elif os.path.isfile(BG_PATH):
  90.             img_files = [BG_PATH]

  91.     def play_gallery(index=0):
  92.         if not is_locked or not img_files: return
  93.         try:
  94.             # 使用标准的 PhotoImage
  95.             # 注意:tkinter默认PhotoImage不支持所有JPG,如果报错请确保安装了 Pillow 库并修改此处
  96.             new_img = tk.PhotoImage(file=img_files[index % len(img_files)])
  97.             bg_label.config(image=new_img)
  98.             bg_label.image = new_img
  99.             if len(img_files) > 1:
  100.                 root.after(5000, lambda: play_gallery(index + 1)) # 5秒切一张
  101.         except Exception as e:
  102.             # 遇到格式不支持的文件跳过
  103.             root.after(100, lambda: play_gallery(index + 1))

  104.     if img_files:
  105.         play_gallery(0)

  106.     # --- D. 事件保护 ---
  107.     def keep_focus(e=None):
  108.         if is_locked:
  109.             entry.focus_set()
  110.             root.lift()

  111.     root.bind("<Return>", lambda e: do_unlock())
  112.     root.bind("<FocusOut>", lambda e: root.after(10, keep_focus))
  113.     root.bind("<Alt_L>", lambda e: "break")
  114.     root.bind("<Alt_R>", lambda e: "break")
  115.     root.protocol("WM_DELETE_WINDOW", lambda: None)
  116.    
  117.     entry.focus_set()
  118.     root.grab_set()
  119.     root.mainloop()

  120. # ==================== 4. 设置界面 ====================
  121. def create_main_gui():
  122.     global BG_PATH
  123.     m_root = tk.Tk()
  124.     m_root.title("挂机锁设置")
  125.     m_root.geometry("400x300")

  126.     tk.Label(m_root, text="设置解锁密码:").pack(pady=10)
  127.     p_var = tk.StringVar(value=PASSWORD)
  128.     tk.Entry(m_root, textvariable=p_var, width=30).pack()

  129.     cur_path = tk.StringVar(value=f"当前路径: {os.path.basename(BG_PATH) if BG_PATH else '未选择'}")
  130.     tk.Label(m_root, textvariable=cur_path, wraplength=350).pack(pady=10)

  131.     def select_dir():
  132.         global BG_PATH
  133.         path = filedialog.askdirectory() # 明确选择文件夹
  134.         if path:
  135.             BG_PATH = path
  136.             cur_path.set(f"当前路径: {path}")

  137.     tk.Button(m_root, text="选择图片文件夹", command=select_dir).pack()
  138.    
  139.     def launch():
  140.         if not p_var.get().strip():
  141.             messagebox.showwarning("提示", "密码不能为空")
  142.             return
  143.         save_config(p_var.get().strip(), 8, BG_PATH)
  144.         m_root.destroy()
  145.         start_lock_screen()

  146.     tk.Button(m_root, text=" 开启锁定 ", bg="#d9534f", fg="white", font=("bold", 12), command=launch, width=20).pack(pady=25)
  147.     m_root.mainloop()

  148. if __name__ == "__main__":
  149.     if PASSWORD:
  150.         start_lock_screen()
  151.     else:
  152.         create_main_gui()
复制代码



回复

使用道具 举报

43#
 楼主| 发表于 昨天 13:22 | 只看该作者
左岸麦田 发表于 2025-12-24 11:13
感谢分享,一般直接自带的了,主要是方便

我是pe下用的,pe不知道win+l是否管用,而且pe也没有设置用户密码所以win+l也不行。
教室中大屏电脑装机转软件,网络克隆,防止学生去乱点击。
启动到pe后他们看着新奇,你说了不要动,转头就有人去哪里随便点击打开软件,或者把你要克隆用的软件关闭了,或者直接点击开始菜单关机了当然正常电脑也能用,安全性谈不上,致使多一个选择,一般win+L就可以了

点评

PE使用的不是很多,主要是维护的时候使用,根据个人的需求来操作就行了。  详情 回复 发表于 昨天 14:31
回复

使用道具 举报

44#
发表于 昨天 13:41 | 只看该作者
感謝大大辛苦分享!感恩!^^
回复

使用道具 举报

45#
发表于 昨天 13:43 | 只看该作者
感谢分享
回复

使用道具 举报

46#
发表于 昨天 13:46 | 只看该作者
上面有一黑横

45.jpg (245.13 KB, 下载次数: 2)

45.jpg

点评

改了,测试一下  详情 回复 发表于 昨天 19:35
回复

使用道具 举报

47#
发表于 昨天 13:46 | 只看该作者
好。。。。。。。。。。
回复

使用道具 举报

48#
发表于 昨天 13:55 | 只看该作者
谢谢分享!
回复

使用道具 举报

49#
发表于 昨天 14:04 | 只看该作者
谢谢分享!
回复

使用道具 举报

50#
发表于 昨天 14:10 | 只看该作者
66
回复

使用道具 举报

51#
发表于 昨天 14:21 | 只看该作者
感谢热心分享
回复

使用道具 举报

52#
发表于 昨天 14:31 | 只看该作者
freesoft00 发表于 2025-12-24 13:22
我是pe下用的,pe不知道win+l是否管用,而且pe也没有设置用户密码所以win+l也不行。
教室中大屏电脑装机 ...

PE使用的不是很多,主要是维护的时候使用,根据个人的需求来操作就行了。
回复

使用道具 举报

53#
发表于 昨天 14:32 | 只看该作者
AI真不错,交出代码
回复

使用道具 举报

54#
发表于 昨天 14:41 | 只看该作者
不明觉厉
回复

使用道具 举报

55#
发表于 昨天 15:27 | 只看该作者
感谢分享
回复

使用道具 举报

56#
发表于 昨天 15:33 | 只看该作者
桂机锁和屏保有什么不同。
回复

使用道具 举报

57#
发表于 昨天 15:41 | 只看该作者
感谢楼主分享
回复

使用道具 举报

58#
发表于 昨天 16:00 | 只看该作者
好多年没看到挂机锁这几个字了,多年前上网吧经常用到,现在还有场景需要吗?都有锁屏密码
回复

使用道具 举报

59#
发表于 昨天 16:55 | 只看该作者
感谢楼主分享
回复

使用道具 举报

60#
发表于 昨天 17:09 | 只看该作者
直接安装个 万象网管,也能锁屏嘿嘿
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-25 04:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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