1131022
-待測
使用繁體中文,在w11下使用pytho語言,使用UI界面,新增二個按鈕,一個按下後,可以"隱藏"選擇的資料夾,另一個按下後,可以將被隱藏選擇的資料夾重新顯示回來,預設的畫面大小為400*300,能給完整的示範的程式嗎?
選擇資料夾:使用 filedialog.askdirectory() 讓用戶選擇一個資料夾。
隱藏資料夾:通過將資料夾名稱改為加上 .hidden 的方式來隱藏資料夾。
顯示資料夾:將資料夾名稱中的 .hidden 去掉來顯示資料夾。
錯誤處理:處理可能發生的錯誤並顯示相關的提示信息。
import os
import tkinter as tk
from tkinter import filedialog, messagebox
class FolderHiderApp:
def __init__(self, master):
self.master = master
master.title("隱藏資料夾程式")
master.geometry("400x300")
self.label = tk.Label(master, text="選擇一個資料夾來隱藏或顯示")
self.label.pack(pady=10)
self.select_button = tk.Button(master, text="選擇資料夾", command=self.select_folder)
self.select_button.pack(pady=5)
self.hide_button = tk.Button(master, text="隱藏資料夾", command=self.hide_folder)
self.hide_button.pack(pady=5)
self.show_button = tk.Button(master, text="顯示資料夾", command=self.show_folder)
self.show_button.pack(pady=5)
self.selected_folder = ""
def select_folder(self):
self.selected_folder = filedialog.askdirectory()
if self.selected_folder:
messagebox.showinfo("選擇的資料夾", f"已選擇的資料夾: {self.selected_folder}")
def hide_folder(self):
if not self.selected_folder:
messagebox.showwarning("警告", "請先選擇一個資料夾!")
return
try:
os.rename(self.selected_folder, self.selected_folder + ".hidden")
messagebox.showinfo("成功", "資料夾已隱藏!")
self.selected_folder += ".hidden"
except Exception as e:
messagebox.showerror("錯誤", f"隱藏資料夾失敗: {str(e)}")
def show_folder(self):
if not self.selected_folder:
messagebox.showwarning("警告", "請先選擇一個資料夾!")
return
if not self.selected_folder.endswith(".hidden"):
messagebox.showwarning("警告", "該資料夾並未被隱藏!")
return
try:
original_folder = self.selected_folder[:-7] # 去掉 ".hidden"
os.rename(self.selected_folder, original_folder)
messagebox.showinfo("成功", "資料夾已顯示!")
self.selected_folder = original_folder
except Exception as e:
messagebox.showerror("錯誤", f"顯示資料夾失敗: {str(e)}")
if __name__ == "__main__":
root = tk.Tk()
app = FolderHiderApp(root)
root.mainloop()
1131021-
使用繁體中文,在w11下使用pytho語言,使用UI界面,新增一個按鈕,按下後,要能呼叫"群組政策"的功能,能給示範的程式嗎?
需再新增
查詢本機系統、office、授權資料,金鑰等;查詢bios資料、查詢網卡驅動資料、查詢,ip設定工具
使用繁體中文,在w11下使用pytho語言,使用UI界面,新增一個按鈕,按下後,要能查詢本機系統的授權狀況呈現在UI上,能給示範的程式嗎?
字型大小、顏色、按鈕背景顏色
# 設置字型' 定義字體顏色和底色
button_font = font.Font(size=18)
button_fg_color = 'white' # 字體顏色
button_bg_color = 'red' # 底色
button_bg_color_frame1 = 'blue' # 底色
button_bg_color_frame2 = 'red' # 底色
button_bg_color_frame3 = 'seagreen' # 底色
1131021-localcontrol-test-06
-使用繁體中文,以下是正常可以執行的程式,希望增加圖片在左下角,圖片呈現的大小是原來的 四分之一,要如何修正程式?
-打包 pyinstaller --onefile --add-data "image.png;." file.py
pyinstaller --onefile --windowed --add-data "image.png;."
1131021-localcontrol-test-08
-新增進階系統設定
import tkinter as tk
import subprocess
from tkinter import font, PhotoImage
import threading
import os
import sys
def run_command(command):
subprocess.run(command, shell=True, creationflags=subprocess.CREATE_NO_WINDOW)
def open_group_policy():
threading.Thread(target=run_command, args=("gpedit.msc",)).start()
def open_computer_management():
threading.Thread(target=run_command, args=("compmgmt.msc",)).start()
def open_disk_management():
threading.Thread(target=run_command, args=("diskmgmt.msc",)).start()
def open_device_management():
threading.Thread(target=run_command, args=("devmgmt.msc",)).start()
def open_registry_editor():
threading.Thread(target=run_command, args=("regedit",)).start()
def open_system_settings():
threading.Thread(target=run_command, args=("msconfig",)).start()
def open_local_users_and_groups():
threading.Thread(target=run_command, args=("lusrmgr.msc",)).start()
def open_task_manager():
threading.Thread(target=run_command, args=("taskmgr",)).start()
def open_firewall_settings():
threading.Thread(target=run_command, args=("control firewall.cpl",)).start()
# 新增進階系統設定的函數
def open_advanced_system_settings():
threading.Thread(target=run_command, args=("sysdm.cpl",)).start()
# 獲取當前檔案所在的路徑
if getattr(sys, 'frozen', False):
current_path = sys._MEIPASS
else:
current_path = os.path.dirname(os.path.abspath(__file__))
# 建立主視窗
root = tk.Tk()
root.title("W11管理工具啟動器 by WCS-2024-10.21")
# 加載圖片
image_path = os.path.join(current_path, "image.png")
image = PhotoImage(file=image_path)
image = image.subsample(4, 4) # 調整圖片大小為原來的四分之一
# 設置字型
button_font = font.Font(size=18)
button_fg_color = 'white' # 字體顏色
button_bg_color = 'red' # 底色
button_bg_color_frame1 = 'blue' # 底色
button_bg_color_frame2 = 'red' # 底色
button_bg_color_frame3 = 'seagreen' # 底色
# 設置按鈕,四個一組
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
# 建立按鈕
btn_group_policy = tk.Button(frame1, text="開啟群組政策", command=open_group_policy, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_group_policy.pack(side=tk.LEFT, padx=5)
btn_computer_mgmt = tk.Button(frame1, text="電腦管理", command=open_computer_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_computer_mgmt.pack(side=tk.LEFT, padx=5)
btn_disk_mgmt = tk.Button(frame1, text="磁碟管理", command=open_disk_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_disk_mgmt.pack(side=tk.LEFT, padx=5)
btn_device_mgmt = tk.Button(frame1, text="裝置管理", command=open_device_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_device_mgmt.pack(side=tk.LEFT, padx=5)
# 第二組按鈕
frame2 = tk.Frame(root)
frame2.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_registry_editor = tk.Button(frame2, text="登錄編輯程式", command=open_registry_editor, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_registry_editor.pack(side=tk.LEFT, padx=5)
btn_system_settings = tk.Button(frame2, text="系統設定", command=open_system_settings, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_system_settings.pack(side=tk.LEFT, padx=5)
btn_local_users = tk.Button(frame2, text="本機使用者和群組", command=open_local_users_and_groups, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_local_users.pack(side=tk.LEFT, padx=5)
btn_task_manager = tk.Button(frame2, text="工作管理員", command=open_task_manager, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_task_manager.pack(side=tk.LEFT, padx=5)
# 第三組按鈕:防火牆設定和進階系統設定
frame3 = tk.Frame(root)
frame3.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_firewall_settings = tk.Button(frame3, text="開啟防火牆設定", command=open_firewall_settings, font=button_font, fg=button_fg_color, bg=button_bg_color_frame3)
btn_firewall_settings.pack(side=tk.LEFT, padx=5)
# 新增進階系統設定按鈕
btn_advanced_system_settings = tk.Button(frame3, text="進階系統設定", command=open_advanced_system_settings, font=button_font, fg=button_fg_color, bg=button_bg_color_frame3)
btn_advanced_system_settings.pack(side=tk.LEFT, padx=5)
# 放置圖片
label = tk.Label(root, image=image)
label.image = image # 防止圖片被垃圾回收
label.pack(side=tk.BOTTOM, anchor='sw', padx=10, pady=10) # 放置在左下角
# 新增備註標籤
note_label = tk.Label(root, text="by 資訊組 FSPS-新北市中和區復興國小", font=("Arial", 10), fg="seagreen")
note_label.place(relx=0.99, rely=0.99, anchor='se') # 右下角對齊
# 不設定固定的視窗大小
root.update_idletasks() # 更新尺寸
root.minsize(root.winfo_width(), root.winfo_height()) # 設置最小尺寸
# 開始主循環
root.mainloop()
1131021-localcontrol-test-07
import tkinter as tk
import subprocess
from tkinter import font, PhotoImage
import threading
import os
import sys
def run_command(command):
subprocess.run(command, shell=True, creationflags=subprocess.CREATE_NO_WINDOW)
def open_group_policy():
threading.Thread(target=run_command, args=("gpedit.msc",)).start()
def open_computer_management():
threading.Thread(target=run_command, args=("compmgmt.msc",)).start()
def open_disk_management():
threading.Thread(target=run_command, args=("diskmgmt.msc",)).start()
def open_device_management():
threading.Thread(target=run_command, args=("devmgmt.msc",)).start()
def open_registry_editor():
threading.Thread(target=run_command, args=("regedit",)).start()
def open_system_settings():
threading.Thread(target=run_command, args=("msconfig",)).start()
def open_local_users_and_groups():
threading.Thread(target=run_command, args=("lusrmgr.msc",)).start()
def open_task_manager():
threading.Thread(target=run_command, args=("taskmgr",)).start()
def open_firewall_settings():
threading.Thread(target=run_command, args=("control firewall.cpl",)).start()
# 獲取當前檔案所在的路徑
if getattr(sys, 'frozen', False):
current_path = sys._MEIPASS
else:
current_path = os.path.dirname(os.path.abspath(__file__))
# 建立主視窗
root = tk.Tk()
root.title("W11管理工具啟動器 by WCS-2024-10.21")
# 加載圖片
image_path = os.path.join(current_path, "image.png")
image = PhotoImage(file=image_path)
image = image.subsample(4, 4) # 調整圖片大小為原來的四分之一
# 設置字型' 定義字體顏色和底色
button_font = font.Font(size=18)
button_fg_color = 'white' # 字體顏色
button_bg_color = 'red' # 底色
button_bg_color_frame1 = 'blue' # 底色
button_bg_color_frame2 = 'red' # 底色
button_bg_color_frame3 = 'seagreen' # 底色
# 設置按鈕,四個一組
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
# 建立按鈕
btn_group_policy = tk.Button(frame1, text="開啟群組政策", command=open_group_policy, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_group_policy.pack(side=tk.LEFT, padx=5)
btn_computer_mgmt = tk.Button(frame1, text="電腦管理", command=open_computer_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_computer_mgmt.pack(side=tk.LEFT, padx=5)
btn_disk_mgmt = tk.Button(frame1, text="磁碟管理", command=open_disk_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_disk_mgmt.pack(side=tk.LEFT, padx=5)
btn_device_mgmt = tk.Button(frame1, text="裝置管理", command=open_device_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_device_mgmt.pack(side=tk.LEFT, padx=5)
# 第二組按鈕
frame2 = tk.Frame(root)
frame2.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_registry_editor = tk.Button(frame2, text="登錄編輯程式", command=open_registry_editor, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_registry_editor.pack(side=tk.LEFT, padx=5)
btn_system_settings = tk.Button(frame2, text="系統設定", command=open_system_settings, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_system_settings.pack(side=tk.LEFT, padx=5)
btn_local_users = tk.Button(frame2, text="本機使用者和群組", command=open_local_users_and_groups, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_local_users.pack(side=tk.LEFT, padx=5)
btn_task_manager = tk.Button(frame2, text="工作管理員", command=open_task_manager, font=button_font, fg=button_fg_color, bg=button_bg_color)
btn_task_manager.pack(side=tk.LEFT, padx=5)
# 第三組按鈕:防火牆設定
frame3 = tk.Frame(root)
frame3.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_firewall_settings = tk.Button(frame3, text="開啟防火牆設定", command=open_firewall_settings, font=button_font, fg=button_fg_color, bg=button_bg_color_frame3)
btn_firewall_settings.pack(side=tk.LEFT, padx=5)
# 放置圖片
label = tk.Label(root, image=image)
label.image = image # 防止圖片被垃圾回收
label.pack(side=tk.BOTTOM, anchor='sw', padx=10, pady=10) # 放置在左下角
# 加入備註文字
#note_label = tk.Label(root, text="備註:by WCS 2024.10.24", font=button_font, fg='black')
#note_label.pack(side=tk.BOTTOM, anchor='se', padx=10, pady=10) # 放置在右下角
# 新增備註標籤
note_label = tk.Label(root, text="by 資訊組 FSPS-新北市中和區復興國小", font=("Arial", 10), fg="seagreen")
note_label.place(relx=0.99, rely=0.99, anchor='se') # 右下角對齊
# 不設定固定的視窗大小
root.update_idletasks() # 更新尺寸
root.minsize(root.winfo_width(), root.winfo_height()) # 設置最小尺寸
# 開始主循環
root.mainloop()
import tkinter as tk
import subprocess
from tkinter import font
import threading
def run_command(command):
subprocess.run(command, shell=True, creationflags=subprocess.CREATE_NO_WINDOW)
def open_group_policy():
threading.Thread(target=run_command, args=("gpedit.msc",)).start()
def open_computer_management():
threading.Thread(target=run_command, args=("compmgmt.msc",)).start()
def open_disk_management():
threading.Thread(target=run_command, args=("diskmgmt.msc",)).start()
def open_device_management():
threading.Thread(target=run_command, args=("devmgmt.msc",)).start()
def open_registry_editor():
threading.Thread(target=run_command, args=("regedit",)).start()
def open_system_settings():
threading.Thread(target=run_command, args=("msconfig",)).start()
def open_local_users_and_groups():
threading.Thread(target=run_command, args=("lusrmgr.msc",)).start()
def open_task_manager():
threading.Thread(target=run_command, args=("taskmgr",)).start()
def open_firewall_settings():
threading.Thread(target=run_command, args=("control firewall.cpl",)).start()
# 建立主視窗
root = tk.Tk()
root.title("W11管理工具啟動器")
# 設置字型' 定義字體顏色和底色
button_font = font.Font(size=18)
button_fg_color = 'white' # 字體顏色
button_bg_color = 'red' # 底色
button_bg_color_frame1 = 'blue' # 底色
button_bg_color_frame2 = 'red' # 底色
button_bg_color_frame3 = 'seagreen' # 底色
# 設置按鈕,四個一組
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
# 建立按鈕
btn_group_policy = tk.Button(frame1, text="開啟群組政策", command=open_group_policy, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_group_policy.pack(side=tk.LEFT, padx=5)
btn_computer_mgmt = tk.Button(frame1, text="電腦管理", command=open_computer_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_computer_mgmt.pack(side=tk.LEFT, padx=5)
btn_disk_mgmt = tk.Button(frame1, text="磁碟管理", command=open_disk_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_disk_mgmt.pack(side=tk.LEFT, padx=5)
btn_device_mgmt = tk.Button(frame1, text="裝置管理", command=open_device_management, font=button_font, fg=button_fg_color, bg=button_bg_color_frame1)
btn_device_mgmt.pack(side=tk.LEFT, padx=5)
# 第二組按鈕
frame2 = tk.Frame(root)
frame2.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_registry_editor = tk.Button(frame2, text="登錄編輯程式", command=open_registry_editor, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_registry_editor.pack(side=tk.LEFT, padx=5)
btn_system_settings = tk.Button(frame2, text="系統設定", command=open_system_settings, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_system_settings.pack(side=tk.LEFT, padx=5)
btn_local_users = tk.Button(frame2, text="本機使用者和群組", command=open_local_users_and_groups, font=button_font, fg=button_fg_color, bg=button_bg_color_frame2)
btn_local_users.pack(side=tk.LEFT, padx=5)
btn_task_manager = tk.Button(frame2, text="工作管理員", command=open_task_manager, font=button_font, fg=button_fg_color, bg=button_bg_color)
btn_task_manager.pack(side=tk.LEFT, padx=5)
# 第三組按鈕:防火牆設定
frame3 = tk.Frame(root)
frame3.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_firewall_settings = tk.Button(frame3, text="開啟防火牆設定", command=open_firewall_settings, font=button_font, fg=button_fg_color, bg=button_bg_color_frame3)
btn_firewall_settings.pack(side=tk.LEFT, padx=5)
# 不設定固定的視窗大小
root.update_idletasks() # 更新尺寸
root.minsize(root.winfo_width(), root.winfo_height()) # 設置最小尺寸
# 開始主循環
root.mainloop()
import tkinter as tk
import os
def open_group_policy():
# 呼叫群組政策編輯器
os.system("gpedit.msc")
# 建立主視窗
root = tk.Tk()
root.title("群組政策啟動器")
# 建立按鈕
btn = tk.Button(root, text="開啟群組政策", command=open_group_policy)
btn.pack(pady=20)
# 設定視窗大小
root.geometry("300x100")
# 開始主循環
root.mainloop()
接上,如果想再增加幾個按鈕,分別對應,"電腦管理"、"磁碟管理"、"裝置管理"、"登錄編輯程式"、"系統設定"、"本機使用者和群組",這幾個功能,能給完成可行的示範程式嗎?
接上,要如何修正字型大小為18,顏色為綠色,按鈕向左對齊,四個一組?
import tkinter as tk
import os
from tkinter import font
def open_group_policy():
# 呼叫群組政策編輯器
os.system("gpedit.msc")
def open_computer_management():
os.system("compmgmt.msc")
def open_disk_management():
os.system("diskmgmt.msc")
def open_device_management():
os.system("devmgmt.msc")
def open_registry_editor():
os.system("regedit")
def open_system_settings():
os.system("msconfig")
def open_local_users_and_groups():
os.system("lusrmgr.msc")
# 建立主視窗
root = tk.Tk()
root.title("W11管理工具啟動器")
# 設置字型
button_font = font.Font(size=18)
# 設置按鈕,四個一組
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, anchor='w', padx=10, pady=5)
# 建立按鈕
btn_group_policy = tk.Button(frame1, text="開啟群組政策", command=open_group_policy, font=button_font, fg='green')
btn_group_policy.pack(side=tk.LEFT, padx=5)
btn_computer_mgmt = tk.Button(frame1, text="電腦管理", command=open_computer_management, font=button_font, fg='green')
btn_computer_mgmt.pack(side=tk.LEFT, padx=5)
btn_disk_mgmt = tk.Button(frame1, text="磁碟管理", command=open_disk_management, font=button_font, fg='green')
btn_disk_mgmt.pack(side=tk.LEFT, padx=5)
btn_device_mgmt = tk.Button(frame1, text="裝置管理", command=open_device_management, font=button_font, fg='green')
btn_device_mgmt.pack(side=tk.LEFT, padx=5)
# 第二組按鈕
frame2 = tk.Frame(root)
frame2.pack(side=tk.TOP, anchor='w', padx=10, pady=5)
btn_registry_editor = tk.Button(frame2, text="登錄編輯程式", command=open_registry_editor, font=button_font, fg='green')
btn_registry_editor.pack(side=tk.LEFT, padx=5)
btn_system_settings = tk.Button(frame2, text="系統設定", command=open_system_settings, font=button_font, fg='green')
btn_system_settings.pack(side=tk.LEFT, padx=5)
btn_local_users = tk.Button(frame2, text="本機使用者和群組", command=open_local_users_and_groups, font=button_font, fg='green')
btn_local_users.pack(side=tk.LEFT, padx=5)
# 設定視窗大小
root.geometry("600x200")
# 開始主循環
root.mainloop()
import tkinter as tk
import os
from tkinter import font
def open_group_policy():
os.system("gpedit.msc")
def open_computer_management():
os.system("compmgmt.msc")
def open_disk_management():
os.system("diskmgmt.msc")
def open_device_management():
os.system("devmgmt.msc")
def open_registry_editor():
os.system("regedit")
def open_system_settings():
os.system("msconfig")
def open_local_users_and_groups():
os.system("lusrmgr.msc")
def open_task_manager():
os.system("taskmgr")
# 建立主視窗
root = tk.Tk()
root.title("W11管理工具啟動器")
# 設置字型
button_font = font.Font(size=18)
# 設置按鈕,四個一組
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
# 建立按鈕
btn_group_policy = tk.Button(frame1, text="開啟群組政策", command=open_group_policy, font=button_font, fg='green')
btn_group_policy.pack(side=tk.LEFT, padx=5)
btn_computer_mgmt = tk.Button(frame1, text="電腦管理", command=open_computer_management, font=button_font, fg='green')
btn_computer_mgmt.pack(side=tk.LEFT, padx=5)
btn_disk_mgmt = tk.Button(frame1, text="磁碟管理", command=open_disk_management, font=button_font, fg='green')
btn_disk_mgmt.pack(side=tk.LEFT, padx=5)
btn_device_mgmt = tk.Button(frame1, text="裝置管理", command=open_device_management, font=button_font, fg='green')
btn_device_mgmt.pack(side=tk.LEFT, padx=5)
# 第二組按鈕
frame2 = tk.Frame(root)
frame2.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_registry_editor = tk.Button(frame2, text="登錄編輯程式", command=open_registry_editor, font=button_font, fg='green')
btn_registry_editor.pack(side=tk.LEFT, padx=5)
btn_system_settings = tk.Button(frame2, text="系統設定", command=open_system_settings, font=button_font, fg='green')
btn_system_settings.pack(side=tk.LEFT, padx=5)
btn_local_users = tk.Button(frame2, text="本機使用者和群組", command=open_local_users_and_groups, font=button_font, fg='green')
btn_local_users.pack(side=tk.LEFT, padx=5)
btn_task_manager = tk.Button(frame2, text="工作管理員", command=open_task_manager, font=button_font, fg='green')
btn_task_manager.pack(side=tk.LEFT, padx=5)
# 不設定固定的視窗大小
root.update_idletasks() # 更新尺寸
root.minsize(root.winfo_width(), root.winfo_height()) # 設置最小尺寸
# 開始主循環
root.mainloop()
1131021-localcontrol-test-03
import tkinter as tk
import os
from tkinter import font
import threading
def run_command(command):
os.system(command)
def open_group_policy():
threading.Thread(target=run_command, args=("gpedit.msc",)).start()
def open_computer_management():
threading.Thread(target=run_command, args=("compmgmt.msc",)).start()
def open_disk_management():
threading.Thread(target=run_command, args=("diskmgmt.msc",)).start()
def open_device_management():
threading.Thread(target=run_command, args=("devmgmt.msc",)).start()
def open_registry_editor():
threading.Thread(target=run_command, args=("regedit",)).start()
def open_system_settings():
threading.Thread(target=run_command, args=("msconfig",)).start()
def open_local_users_and_groups():
threading.Thread(target=run_command, args=("lusrmgr.msc",)).start()
def open_task_manager():
threading.Thread(target=run_command, args=("taskmgr",)).start()
def open_control_settings():
threading.Thread(target=run_command, args=("control",)).start()
# 建立主視窗
root = tk.Tk()
root.title("W11管理工具啟動器 by WCS 2024.10.21")
# 設置字型
button_font = font.Font(size=18)
# 設置按鈕,四個一組
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
# 建立按鈕
btn_group_policy = tk.Button(frame1, text="開啟群組政策", command=open_group_policy, font=button_font, fg='green')
btn_group_policy.pack(side=tk.LEFT, padx=5)
btn_computer_mgmt = tk.Button(frame1, text="電腦管理", command=open_computer_management, font=button_font, fg='green')
btn_computer_mgmt.pack(side=tk.LEFT, padx=5)
btn_disk_mgmt = tk.Button(frame1, text="磁碟管理", command=open_disk_management, font=button_font, fg='green')
btn_disk_mgmt.pack(side=tk.LEFT, padx=5)
btn_device_mgmt = tk.Button(frame1, text="裝置管理", command=open_device_management, font=button_font, fg='green')
btn_device_mgmt.pack(side=tk.LEFT, padx=5)
# 第二組按鈕
frame2 = tk.Frame(root)
frame2.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_registry_editor = tk.Button(frame2, text="登錄編輯程式", command=open_registry_editor, font=button_font, fg='green')
btn_registry_editor.pack(side=tk.LEFT, padx=5)
btn_system_settings = tk.Button(frame2, text="系統設定", command=open_system_settings, font=button_font, fg='green')
btn_system_settings.pack(side=tk.LEFT, padx=5)
btn_local_users = tk.Button(frame2, text="本機使用者和群組", command=open_local_users_and_groups, font=button_font, fg='green')
btn_local_users.pack(side=tk.LEFT, padx=5)
btn_task_manager = tk.Button(frame2, text="工作管理員", command=open_task_manager, font=button_font, fg='green')
btn_task_manager.pack(side=tk.LEFT, padx=5)
# 第三組按鈕
frame3 = tk.Frame(root)
frame3.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_control_settings = tk.Button(frame3, text="開啟控制台設定", command=open_control_settings, font=button_font, fg='green')
btn_control_settings.pack(side=tk.LEFT, padx=5)
# 不設定固定的視窗大小
root.update_idletasks() # 更新尺寸
root.minsize(root.winfo_width(), root.winfo_height()) # 設置最小尺寸
# 開始主循環
root.mainloop()
接上,程式執行後,希望執行時,不要有終端機的畫面,要如何修正?
1131021-localcontrol-test-03
要在執行命令時不顯示終端機(命令提示字元)視窗,你可以使用 subprocess 模組並設定參數,以隱藏窗口。以下是修改過的程式碼:
import tkinter as tk
import subprocess
from tkinter import font
import threading
def run_command(command):
subprocess.run(command, shell=True, creationflags=subprocess.CREATE_NO_WINDOW)
def open_group_policy():
threading.Thread(target=run_command, args=("gpedit.msc",)).start()
def open_computer_management():
threading.Thread(target=run_command, args=("compmgmt.msc",)).start()
def open_disk_management():
threading.Thread(target=run_command, args=("diskmgmt.msc",)).start()
def open_device_management():
threading.Thread(target=run_command, args=("devmgmt.msc",)).start()
def open_registry_editor():
threading.Thread(target=run_command, args=("regedit",)).start()
def open_system_settings():
threading.Thread(target=run_command, args=("msconfig",)).start()
def open_local_users_and_groups():
threading.Thread(target=run_command, args=("lusrmgr.msc",)).start()
def open_task_manager():
threading.Thread(target=run_command, args=("taskmgr",)).start()
def open_firewall_settings():
threading.Thread(target=run_command, args=("control firewall.cpl",)).start()
# 建立主視窗
root = tk.Tk()
root.title("W11管理工具啟動器")
# 設置字型
button_font = font.Font(size=18)
# 設置按鈕,四個一組
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
# 建立按鈕
btn_group_policy = tk.Button(frame1, text="開啟群組政策", command=open_group_policy, font=button_font, fg='green')
btn_group_policy.pack(side=tk.LEFT, padx=5)
btn_computer_mgmt = tk.Button(frame1, text="電腦管理", command=open_computer_management, font=button_font, fg='green')
btn_computer_mgmt.pack(side=tk.LEFT, padx=5)
btn_disk_mgmt = tk.Button(frame1, text="磁碟管理", command=open_disk_management, font=button_font, fg='green')
btn_disk_mgmt.pack(side=tk.LEFT, padx=5)
btn_device_mgmt = tk.Button(frame1, text="裝置管理", command=open_device_management, font=button_font, fg='green')
btn_device_mgmt.pack(side=tk.LEFT, padx=5)
# 第二組按鈕
frame2 = tk.Frame(root)
frame2.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_registry_editor = tk.Button(frame2, text="登錄編輯程式", command=open_registry_editor, font=button_font, fg='green')
btn_registry_editor.pack(side=tk.LEFT, padx=5)
btn_system_settings = tk.Button(frame2, text="系統設定", command=open_system_settings, font=button_font, fg='green')
btn_system_settings.pack(side=tk.LEFT, padx=5)
btn_local_users = tk.Button(frame2, text="本機使用者和群組", command=open_local_users_and_groups, font=button_font, fg='green')
btn_local_users.pack(side=tk.LEFT, padx=5)
btn_task_manager = tk.Button(frame2, text="工作管理員", command=open_task_manager, font=button_font, fg='green')
btn_task_manager.pack(side=tk.LEFT, padx=5)
# 第三組按鈕:防火牆設定
frame3 = tk.Frame(root)
frame3.pack(side=tk.TOP, anchor='w', padx=10, pady=5, fill=tk.X)
btn_firewall_settings = tk.Button(frame3, text="開啟防火牆設定", command=open_firewall_settings, font=button_font, fg='green')
btn_firewall_settings.pack(side=tk.LEFT, padx=5)
# 不設定固定的視窗大小
root.update_idletasks() # 更新尺寸
root.minsize(root.winfo_width(), root.winfo_height()) # 設置最小尺寸
# 開始主循環
root.mainloop()