# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
from sc import * # 从 sc文件导入所有的函数等
class GeneratedUI:
"""生成的Tkinter界面"""
def __init__(self, master=None):
# 创建主窗口
self.master = master if master else tk.Tk()
self.master.title("编写手动获取句柄功能") # 窗口标题
self.master.geometry("500x350+700+100") # 设置 窗口大小、窗口位置
self.master.configure(bg='white')
# 创建界面组件
self.组件布局()
# 设置 按钮图标
icon = tk.PhotoImage(file="./图片/句柄.png")
self.master.nametowidget('按钮_取句柄').config(image=icon,compound="center")
self.master.nametowidget('按钮_取句柄').image = icon
# 关闭窗口事件 核心:绑定关闭窗口事件
self.master.protocol("WM_DELETE_WINDOW", self.关窗窗口)
self.注册大漠()
# 按钮按住、弹起
self.master.nametowidget('按钮_取句柄').bind("<ButtonPress-1>", self.取句柄_按住)
self.master.nametowidget('按钮_取句柄').bind("<ButtonRelease-1>", self.取句柄_弹起)
def 取句柄_按住(self,event):
event.widget.config(relief="sunken")
self.日志("开始取句柄!")
self.master.nametowidget('输入框_窗口句柄').delete(0, tk.END) # 删除所有内容(从开始到结束)
def 取句柄_弹起(self,event):
event.widget.config(relief="raised")
窗口句柄 = 窗口_取鼠标指向句柄(dms[0])
if 窗口句柄:
self.日志(f"获取到的窗口句柄: {窗口句柄}")
self.master.nametowidget('输入框_窗口句柄').insert(0, str(窗口句柄)) # 在开头插入
else:
self.日志(f"获取窗口句柄失败!")
def 日志(self,text):
self.master.nametowidget('文本框_日志').insert(tk.END, f"{text}\n") # 追加文本到(写到末尾) → 文本框_日志
# 核心:获取最后一行的索引,拆分出行号 'end-1c' 表示最后一个字符的位置(排除Text默认的结束符)
last_index = self.master.nametowidget('文本框_日志').index('end-1c')
# 按 '.' 拆分,取第一个部分(行号)并转为整数
总行数 = int(last_index.split('.')[0])
if 总行数 ==3000:
self.master.nametowidget('文本框_日志').delete('1.0',tk.END) # 清空所有
def 注册大漠(self):
# with open('./注册码.txt', 'r', encoding='utf8') as f:
# 注册码信息 = f.read() # 读取文件内的所有内容
#
# if 注册码信息: # 不为空
# 返回_列表 = 注册码信息.split("\n") # 通过换行符分割
#
# if len(返回_列表)>=2:
#
# 注册码 = 返回_列表[0] # 第一个
# 附加码 = 返回_列表[1] # 第二个
注册码,附加码 = 取注册码()
if 注册码 and 附加码:
大漠初始化(注册码,附加码)
if len(dms)>0: # 不为空 表示 大漠初始化成功,也就是成功创建了大漠对象
self.master.nametowidget('文本框_日志').insert(tk.END, "注册大漠VIP成功!\n") # 追加文本到(写到末尾) → 文本框_日志
else:
self.master.nametowidget('文本框_日志').insert(tk.END, "注册大漠VIP失败!\n") # 追加文本到(写到末尾) → 文本框_日志
else:
弹窗提醒("未读取到注册码信息!")
return
def 关窗窗口(self):
print("开始关闭窗口")
if len(dms)>0: # 判断 大漠【dms】是否初始化成功
后台_解绑窗口(dms[0])
self.master.destroy() # 销毁窗口
print("结束关闭窗口")
def 组件布局(self):
"""创建所有界面组件"""
# 文本框: 文本框_8e35b19a -> text_1
self.text_1 = tk.Text(
self.master,
bg="white",
fg="black",
font=('微软雅黑', 10),
name="文本框_日志"
)
self.text_1.place(
x=17.0,
y=60.0,
width=462.0,
height=273.0
)
# 按钮: 按钮_84940ab4 -> btn_1
self.btn_1 = tk.Button(
self.master,
text="",
bg="#4CAF50",
fg="white",
font=('微软雅黑', 10),
name="按钮_取句柄"
)
self.btn_1.place(
x=16.0,
y=14,
width=25,
height=25
)
# 输入框: 输入框_8200ce36 -> entry_1
self.entry_1 = tk.Entry(
self.master,
bg="white",
fg="black",
font=('微软雅黑', 10),
name="输入框_窗口句柄"
)
self.entry_1.place(
x=50.0,
y=14,
width=80,
height=25
)
def main():
"""主函数"""
root = tk.Tk()
app = GeneratedUI(root)
root.mainloop()
if __name__ == "__main__":
main()