python获取开机自启动权限,若时间达到了18:00,使用cmd以管理员模式运行shutdown /s.计算当前日期到2025年1月6日的天数存为变量time新建两个windows窗口有一个选择字号,字体颜色的按钮,另一个窗口标题栏,背景设置为透明,文字不透明默认居中显示在屏幕顶部显示:离春考还有time天,和一个滑块开关名称为:考试模式,若考试模式打开,新建一个windows窗口,背景为黑色,居中全屏显示当前的时间(精确到秒),右下角显示一行小字:qwq出品,必属精品。


这个需求涉及到多个方面,包括Python脚本编写、Windows系统操作、GUI界面设计等。下面是一个综合实现这些功能的示例代码: 1. 获取开机自启动权限 可以通过注册表来实现开机自启动。 2. 检查时间并执行关机命令 使用`subprocess`模块来运行命令行指令。 3. 计算当前日期到2025年1月6日的天数 使用`datetime`模块来计算日期差。 4. 创建两个窗口 使用`tkinter`库来创建GUI窗口。 5. 实现滑块开关和考试模式 使用`tkinter`的`Checkbutton`和`Toplevel`来实现滑块开关和考试模式窗口。 以下是完整的代码示例: ```python import os import subprocess import datetime import tkinter as tk from tkinter import ttk, messagebox # 计算当前日期到2025年1月6日的天数 def days_to_2025(): target_date = datetime.datetime(2025, 1, 6) current_date = datetime.datetime.now() delta = target_date - current_date return delta.days # 检查时间并执行关机命令 def check_time_and_shutdown(): current_time = datetime.datetime.now().time() if current_time.hour == 18 and current_time.minute == 0: subprocess.run(['shutdown', '/s'], shell=True) # 设置开机自启动 def set_autostart(): try: key_path = r'Software\Microsoft\Windows\CurrentVersion\Run' key_name = 'MyApp' script_path = os.path.abspath(__file__) with winreg.OpenKey(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_SET_VALUE) as key: winreg.SetValueEx(key, key_name, 0, winreg.REG_SZ, script_path) messagebox.showinfo("成功", "已设置开机自启动") except Exception as e: messagebox.showerror("错误", f"设置开机自启动失败: {e}") # 创建主窗口 def create_main_window(): root = tk.Tk() root.title("设置窗口") root.geometry("300x200") # 字号选择 font_size_label = tk.Label(root, text="选择字号:") font_size_label.pack(pady=5) font_size_var = tk.IntVar(value=12) font_size_slider = tk.Scale(root, from_=8, to=24, orient=tk.HORIZONTAL, variable=font_size_var) font_size_slider.pack(pady=5) # 字体颜色选择 font_color_label = tk.Label(root, text="选择字体颜色:") font_color_label.pack(pady=5) font_color_var = tk.StringVar(value="black") font_color_combobox = ttk.Combobox(root, textvariable=font_color_var, values=["black", "red", "blue", "green"]) font_color_combobox.pack(pady=5) # 开机自启动按钮 autostart_button = tk.Button(root, text="设置开机自启动", command=set_autostart) autostart_button.pack(pady=10) # 考试模式开关 exam_mode_var = tk.BooleanVar() exam_mode_checkbox = tk.Checkbutton(root, text="考试模式", variable=exam_mode_var, command=lambda: toggle_exam_mode(exam_mode_var.get())) exam_mode_checkbox.pack(pady=5) root.mainloop() # 创建透明窗口 def create_transparent_window(time): top = tk.Toplevel() top.overrideredirect(True) top.attributes('-alpha', 0.5) # 设置透明度 screen_width = top.winfo_screenwidth() screen_height = top.winfo_screenheight() top.geometry(f"{screen_width}x50+0+0") # 居中显示在屏幕顶部 top.configure(bg='white') label = tk.Label(top, text=f"离春考还有{time}天", bg='white', fg='black') label.place(relx=0.5, rely=0.5, anchor=tk.CENTER) # 切换考试模式 def toggle_exam_mode(is_on): if is_on: create_exam_mode_window() # 创建考试模式窗口 def create_exam_mode_window(): exam_window = tk.Toplevel() exam_window.overrideredirect(True) exam_window.attributes('-fullscreen', True) exam_window.configure(bg='black') def update_time(): current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") time_label.config(text=current_time) exam_window.after(1000, update_time) time_label = tk.Label(exam_window, text="", bg='black', fg='white', font=('Arial', 24)) time_label.pack(expand=True) footer_label = tk.Label(exam_window, text="qwq出品,必属精品", bg='black', fg='white', font=('Arial', 10)) footer_label.place(relx=1.0, rely=1.0, anchor=tk.SE) update_time() if __name__ == "__main__": time = days_to_2025() create_main_window() create_transparent_window(time) check_time_and_shutdown() ``` 说明: 1. 开机自启动:通过修改注册表来实现。 2. 检查时间并执行关机命令:使用`subprocess`模块运行`shutdown /s`命令。 3. 计算天数:使用`datetime`模块计算当前日期到2025年1月6日的天数。 4. 创建窗口:使用`tkinter`库创建两个窗口,一个用于设置字号和字体颜色,另一个用于显示倒计时。 5. 考试模式:通过滑块开关切换考试模式,考试模式窗口全屏显示当前时间,并在右下角显示一行小字。 请确保在运行此代码之前安装了`tkinter`库,并且具有管理员权限以执行关机命令和修改注册表。 [2024-11-19 00:57:18 | AI写代码神器 | 1342点数解答]
- ssd_send(0x11,ff,03,98,81,03); //gip_1 ssd_send(0x11,01,01,00); ssd_send(0x11,02,01,00); ssd_send(0x11,03,01,53); ssd_send(0x11,04,01,13); ssd_send(0x11,05,01,00); ssd_send(0x11,06,01,04); ssd_send(0x11,07,01,00); ssd_send(0x11,08,01,00); ssd_send(0x11,09,01,22); ssd_send(0x11,0a,01,22); ssd_send(0x11,0b,01,00); ssd_send(0x11,0c,01,01); ssd_send(0x11,0d,01,00); ssd_send(0x11,0e,01,00); ssd_send(0x11,0f,01,25);(64点数解答 | 2024-11-06 16:52:19)203
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(693点数解答 | 2025-08-07 10:56:54)65
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(432点数解答 | 2025-08-07 10:58:12)49
- 救援争先 内存限制: 256 Mb时间限制: 1000 ms 题目描述 某地出现了灾害,各地派出了 n n 只救援队。这些救援队是在同一天出发的,但出发时间不一样,路程也有长有短,所以达到时间有先有后。 给定每个队伍的出发时间,以及每只队伍的路程,请按照到达时间为这些队伍排序,如果多只队伍的到达时间正好相等,则出发时间靠前的队伍排在前列,如果出发时间仍然相等,则编号较小的队伍排在前列。 输入格式 第一行:单个整数 n n,表示救援队数量。 第二行到第 n + 1 n+1 行:在第 i + 1 i+1 行,有两个时间,表示第 i i 只救援队的出发时间和路程,数据格式均为 hh:mm: hh 表示小时,在 00 到 23 之间; mm 表示分钟,在 00 到 59 之间。 输出格式 共 n n 行,每行一个整数,按救援队到达的先后顺序输出它们的编号。 数据范围 1 ≤ n ≤ 1000 1≤n≤1000。 样例数据 输入: 3 19:00 01:00 15:00 05:00 15:00 05:00 输出: 2 3 1 说明: 3只队伍同时到达,2号和3号出发较早,所(964点数解答 | 2025-08-11 16:27:09)47
- 我想做一个个人网页,希望是一个单页面应用,所有需要的东西都使用cdn或者不需要复杂的框架的方式实现。 以下是详细的个人网页设计方案包括:照片轮播、社交媒体链接和一个ai对话界面。 页面整体设计 1. 头部(header) 背景:使用渐变色背景,颜色可以从浅蓝渐变到深蓝,给人一种清新、现代的感觉。 导航栏:在头部右角放置一个导航栏,包含几个主要部分:“首页”(默认)、“关于我”、“作品集”、“***”。每个部分使用简洁的白色字体,鼠标悬停时显示下划线或者颜色变化。 个人logo:左上角放置一个正方形的个人logo,点击可以回到首页。 搜索框(可选):做上角logo下面可以添加一个简约的搜索框,虽然个人网站可能用不上,但增加一些互动性和专业感。 2. 轮播图(carousel) 位置:头部下方,占据页面大部分宽度,高度可以设置为屏幕高度的30%-40%。 图片:展示3-5张高质量的个人照片,每张照片都有过渡效果,如淡入淡出、滑动等。 文字:每张图片下方可以添加一句简短的文字描述,例如“在巴黎的旅行照”、“工作室的日常”等,字体颜色与背景形成对比,确保清晰可见。 指示器:左右两侧放置小圆点(485点数解答 | 2024-10-28 23:31:13)157
- 我想做一个个人网页,希望是一个单页面应用,所有需要的东西都使用cdn或者不需要复杂的框架的方式实现。 以下是详细的个人网页设计方案包括:照片轮播、社交媒体链接和一个ai对话界面。 页面整体设计 1. 头部(header) 背景:使用渐变色背景,颜色可以从浅蓝渐变到深蓝,给人一种清新、现代的感觉。 导航栏:在头部右角放置一个导航栏,包含几个主要部分:“首页”(默认)、“关于我”、“作品集”、“***”。每个部分使用简洁的白色字体,鼠标悬停时显示下划线或者颜色变化。 个人logo:左上角放置一个正方形的个人logo,点击可以回到首页。 搜索框(可选):做上角logo下面可以添加一个简约的搜索框,虽然个人网站可能用不上,但增加一些互动性和专业感。 2. 轮播图(carousel) 位置:头部下方,占据页面大部分宽度,高度可以设置为屏幕高度的30%-40%。 图片:展示3-5张高质量的个人照片,每张照片都有过渡效果,如淡入淡出、滑动等。 文字:每张图片下方可以添加一句简短的文字描述,例如“在巴黎的旅行照”、“工作室的日常”等,字体颜色与背景形成对比,确保清晰可见。 指示器:左右两侧放置小圆点(1752点数解答 | 2024-10-28 23:32:45)144
- - ItemId: 12720 #道具id A级赛车 雷诺 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 127758 #道具id 宠物 冰凤 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 21980 #道具id 效率宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 - ItemId: 21986 #道具id 重生宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 这种文本文件如何用易语言读入并显示到超级列表框内 (571点数解答 | 2025-08-23 20:54:40)56
- - ItemId: 12720 #道具id A级赛车 雷诺 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 127758 #道具id 宠物 冰凤 ItemNum: 1 #数量 ObtainTime: 1 #时间 AvailPeriod: -1 #0显示数量 -1显示永久 - ItemId: 21980 #道具id 效率宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 - ItemId: 21986 #道具id 重生宝珠LV4 ItemNum: 100 #数量 ObtainTime: 1 #时间 AvailPeriod: 0 #0显示数量 -1显示永久 这种文本文件如何用易语言读入并显示到超级列表框内,并且可以增加新的一样的文本(1317点数解答 | 2025-08-23 20:58:40)50
- select uid, msg_id, session_id, msg_created_time, sender_role_type, msg_title, msg_content, question_id, answer_scene from atta_boss.dwd_fact_boss_im_message_h where pt = '20240928' and p_hour = '23' and sender_role_type in ('sale','acct_user') and msg_created_time between '2024-09-01 00:00:00' and '2024-09-29 00:00:00' and msg_content like "%美国|英国|澳大利亚%" limit 1000; 上述sql有什么语法错误(341点数解答 | 2024-09-29 21:37:36)184
- select distinct t.id_card,t.`start`,t.`end` from ((select distinct(person_name), id_card , date_format( curdate(), "%y-%m-%d 00:00:00" ) start , date_format( curdate(), "%y-%m-%d 23:59:59" ) end, '1' ordertype, '-1' pass from t_contractor_people where person_name in ( select distinct ( b.executor ) from t_task_work_order a left join t_task_work_person b on a.sheet_id = b.hot_work_id where a.valid = '1' and a.work_start_time > date_format( curdate(), "%y-%m-%d 00:00:00(342点数解答 | 2024-12-05 12:31:57)135
- select distinct t.id_card,t.`start`,t.`end` from ((select distinct(person_name), id_card , date_format( curdate(), "%y-%m-%d 00:00:00" ) start , date_format( curdate(), "%y-%m-%d 23:59:59" ) end, '1' ordertype, '-1' pass from t_contractor_people where person_name in ( select distinct ( b.executor ) from t_task_work_order a left join t_task_work_person b on a.sheet_id = b.hot_work_id where a.valid = '1' and a.work_start_time > date_format( curdate(), "%y-%m-%d 00:00:00(24点数解答 | 2024-12-05 12:32:54)161
- <!DOCTYPE html> <html> <body> <h2 style="text-align:center">TAX INVOICE</h2> <table border="1" cellpadding="5"> <tr><th>Description</th><th>Qty</th><th>Unit Price (AU$)</th><th>Total (AU$)</th></tr> <tr><td>On-site Technical Service (2hrs)</td><td>1</td><td>150.00</td><td>300.00</td></tr> <tr><td>NVIDIA RTX 4070 Graphics Card</td><td>1</td><td>450.00</td><td>450.00</td></tr> <tr><td>System Update Service</td><td>1</td><td>50.00</td><td>50.00</td></tr> <tr><td colspan="3" (906点数解答 | 2025-07-14 12:32:02)63