用纳米AI一键生成Python屏幕监控软件
不得不说,现在的人工智能太厉害了,只需要简单地描述一下你的请求,就可以迅速为你生成一个带界面的软件,根本就不需要自己亲自写代码。你只需要知道用哪些模块,实现什么功能,有什么要求就可以了。
一、问题的由来
这不,我今天看到学校下发了暑期培训的通知,需要我们积累10个学时的学习记录,说白了就是看视频。如果一直让它自动播放的话,播完了会弹窗,提示你点击确定,然后进入下一条视频,如果不点击的话,就无法自动播放下一条视频。
于时,我就想让人工智能给我生成一个带界面的Python工具,主要用于监控我的视频界面有没有弹出确认窗口,弹出了就点击一次,不弹出就不点击,为了能尽快执行,我设置了每隔30秒进行一次点击。
软件界面
二、问题的解决
于是,我直接向deepseek发问,但发现它响应太慢,就去了http://bot.n.cn(纳米ai),让它给用pyautogui和tkinter来编写一个带界面的屏幕监控软件,实现每隔30秒来监控一下屏幕上有没有confirm.png这个图片,有的话就点击。这个纳米ai反应速度很快,马上给了我解决方案。
给出解决思路
不仅给出了功能描述,而且还给出了安装pyautogui的方法。
同时,给出了完整的代码:
import tkinter as tk
import pyautogui
import threading
import time
import osclass ScreenMonitorApp:def __init__(self, root):self.root = rootself.root.title(" 屏幕图像监控器")self.root.geometry("400x200") self.root.resizable(False, False)# 状态变量self.running = Falseself.monitor_thread = None# 图像路径(可修改)self.image_path = "confirm.png" # 检查图像是否存在if not os.path.exists(self.image_path): print(f"警告:图像文件 {self.image_path} 不存在,请确保它在当前目录中。")# GUI 元素self.title_label = tk.Label(root, text="屏幕图像监控工具", font=("Arial", 16))self.title_label.pack(pady=10) self.status_label = tk.Label(root, text="状态:未运行", fg="gray")self.status_label.pack(pady=5) self.btn_frame = tk.Frame(root)self.btn_frame.pack(pady=20) self.start_btn = tk.Button(self.btn_frame, text="开始监控", width=10, height=2, bg="green", fg="white", command=self.start_monitoring) self.start_btn.grid(row=0, column=0, padx=10)self.stop_btn = tk.Button(self.btn_frame, text="停止监控", width=10, height=2, bg="red", fg="white", command=self.stop_monitoring, state=tk.DISABLED)self.stop_btn.grid(row=0, column=1, padx=10)self.info_label = tk.Label(root, text="每30秒检测一次 confirm.png", font=("Arial", 9))self.info_label.pack(pady=5) def click_image(self):"""查找并点击图像"""try:# 多尺度匹配,提高识别成功率location = pyautogui.locateOnScreen(self.image_path, confidence=0.9)if location:center_x, center_y = pyautogui.center(location) pyautogui.click(center_x, center_y)print(f"✅ 已点击图像:{self.image_path} ,位置 ({center_x}, {center_y})")self.update_status(" 已检测并点击", "blue")else:print(" 未找到图像,继续监控...")except pyautogui.ImageNotFoundException:print("❌ 图像未找到异常")except Exception as e:print(f"❌ 其他错误:{e}")def monitor_loop(self):"""监控主循环"""while self.running: self.click_image() time.sleep(30) # 每30秒检测一次def start_monitoring(self):"""启动监控线程"""if not self.running: self.running = Trueself.update_status(" 正在运行", "green")self.start_btn.config(state=tk.DISABLED) self.stop_btn.config(state=tk.NORMAL) # 启动后台线程防止阻塞 GUIself.monitor_thread = threading.Thread(target=self.monitor_loop, daemon=True)self.monitor_thread.start() def stop_monitoring(self):"""停止监控"""self.running = Falseself.update_status(" 已停止", "red")self.start_btn.config(state=tk.NORMAL) self.stop_btn.config(state=tk.DISABLED) def update_status(self, text, color):"""更新状态标签"""self.status_label.config(text=f" 状态:{text}", fg=color)# 主程序入口
if __name__ == "__main__":root = tk.Tk()app = ScreenMonitorApp(root)root.mainloop()
代码运行的结果如下,设置了界面显示,以及开始监控和停止监控两个按钮,同时提示每隔30秒检测一下界面是否和本地的confirm.png图片一致。
软件界面
confirm.png是我们在视频结束后,专门截取的,如下图所示:
确定按钮
经过测试,软件运行正常,甚至还可以监测到图片的位置信息,并进行日志的显示。
监控日志
三、学后总结
1. 把大语言模型和Python结合起来,可以爆发出惊人的潜力。在人工智能时代,学习不再是难事,只要你愿意学习,有想法,会提问,总能够找到解决问题的办法。
2. 虽然有大语言模型,但并不是说基础知识不重要了,如果有扎实的基础,就可以更好地发挥大语言模型的潜能,找到更接这自己想法的答案,这样也可以对生成的代码进行必要的判断、改写,从而少走弯路。
3. DeepSeek虽然厉害,但不得不说纳米AI做的更好,不仅速度快而给出的内容更加丰富,扩展性也更强,所以我们也不必光盯着DeepSeek和ChatGPT,国内的纳米AI,metaso,Kimi都是不错的人工智能平台。