写了一个右键菜单清理工具以及一些吐槽
注:这是一篇没有什么营养的吐槽文
清理工具
自从一年多前删了一批程序发现右键上下文菜单留下了一批钉子户之后就想着哪天有时间写个工具清理一下。
但是因为比较懒就一直拖到了现在;并且在某天脑袋被门撞了之后想着要不顺带做一个 GUI 吧…
因为核心需要操作注册表,免不了一顿 Win32 API 调用,所以自然用 C++ 比较方便,但是用 C++ 写 GUI 吧,稍有经验的人都知道这是一个蛋疼的事情。
还好我还算比较有毅力:
- 用了一个晚上基于 KBase 封装的基础工具写完了核心逻辑
- 在网上找了一个比较轻量的 nana-gui 糊了一个周末的 UI
最后算是把成品给做了出来,也确实达成了我的目的,清掉了残留的菜单项。
完整工程链接:the-stupid-context-menu-cleaner
GUI? Thanks, but NO
这部分又名 我为什么不喜欢写 UI。
说起来我的编程生涯是从 GUI 程序开始的。
初中的时候各种折腾 VB6,一直想做个好看、高大上的应用;经常为了追求实现一些炫酷的效果大规模使用当时口口相传的秘术:子类化(sub-classing)。
说是秘术无非是 VB6 本身不支持这样做,强行通过 Win32 API 接管被内部封装的 wndproc(窗口的消息处理过程);记得很容易因为一个不小心连带 IDE 都自动退出。
并且那会儿也没有所谓的 layout management,全靠可视化界面编辑器一个一个拖控件,然后通过手写 on_resize 事件根据窗口大小来调整控件的布局。
即使到了高中开始学 C++ (with classes),也是想着怎么在 MFC 里用那些蹩脚的基础控件和机制把应用做得漂亮点。
直到升入大学并在 C++ 和 system programming 这条歪路上越走越远,GUI 编程对我的吸引开始日益减少;直至今天我对这部分事情完全提不起兴趣。
导致这个变化的原因粗想了一下大概有下面几个。