复刻ClassTool4Seewo二三事

2023-06-08 18:37 | ClassTool4Seewo | #Qt# #Win32#

目录

    好久好久以前,在Github发现了这个项目:ClassTool

    ClassTool

    一个用在班级电脑上面的动态壁纸系统,显示高考倒计时、作业、课程表、值日生等

    作为电教,上周在班级电脑上使用了一下。好巧不巧,我校希沃大概是17左右引进的,羸弱的性能、Win7的系统、冰点还原和校园白名单机制,使得ClassTool不能在这台机上很好地运行,尤其是不能作为桌面背景层。

    也是夜郎自大,不曾想过自己的编程能力也和这台机一样羸弱,和同学夸下海口“我高考假七天就能复刻一个出来”,自6月5日晚以来“键”耕不掇,尝试了MFC、C#Winform、Electron+Vue、Rust+egui技术栈,无一可以找到在那台Win7的、有冰点还原的、基本不能联网的、性能羸弱的一体机上实现的良好方案。

    但是不完美的方案倒是有的_(:з」∠)_,而且是我初中便实现过的(MFC+WinForm),或者是我现在有望实现的(Rust + egui),原作ClassTool也是迭代版本多次几年才有现在的样子,我也无需那么着急。

    动态壁纸原理

    动态壁纸,一是动态,二是壁纸。前者可以通过媒体播放/网页形式实现,后者则是调用Win32API实现。

    flowchart LR
    A[创建窗口 bg ] --> B[设置 bg 为 WorkerW 的子窗体]
    A --> C[注册 Tray 控制窗体 bg ]
    D[调用 Win32 让背景层 WorkerW 分离] --> B
    

    Fin.