mokson 发表于 2018-3-20 22:06:44

教你在 AutoCAD 上”装B“

本帖最后由 mokson 于 2020-12-27 08:23 编辑

今天终于搞定在 AutoCAD 2019 顶端的标题栏里显示装B的个性文字!
不需要你懂API,不需要你懂编程。方法是:用 ResHacker 工具打开 CAD目录下的 AcBrandRes.dll 文件,修改里面的 296 字串为你想要的文字即可。现在上图:





其实我最想要的功能,就是在 绘图工作区域上 装B,文字固定且悬浮在绘图区域上并置顶显示,不会随着视图的缩放或移动而改变文字的大小和位置。。。。

装B工具:



yxp 发表于 2018-5-15 17:51:32

本帖最后由 yxp 于 2018-5-15 17:54 编辑

这么简单,加载运行下面的代码即可,可以保存为 lsp 文件,放到启动组,CAD 打开就有效果
(defun c:zhB()
(setq hCAD (vla-get-hwnd (vlax-get-acad-object))
      dwx (vlax-create-object "DynamicWrapperX"))
(if dwx (progn
(vlax-invoke dwx 'Register "user32" "SetWindowTextW" "i=hw" "r=m")
(vlax-invoke dwx 'SetWindowTextW hCAD "AutoCAD 装逼犯专供版")
)(princ "\n请注册 DWX 插件")
)(and dwx (vlax-release-object dwx))
(princ)
)

程序运行需要 DWX 注册



yxp 发表于 2018-5-17 00:49:49

继续,API 添加菜单装B的办法
(defun c:zhB2()
(setq hCAD (vla-get-hwnd (vlax-get-acad-object))
        DWX (vlax-create-object "DynamicWrapperX"))
(if DWX (progn
(vlax-invoke DWX 'Register "user32" "GetMenu" "i=p" "r=l")
(vlax-invoke DWX 'Register "user32" "AppendMenuW" "i=pllw" "r=l")
(setq PtCad (vlax-invoke DWX 'GetMenu hCAD))
(vlax-invoke DWX 'AppendMenuW PtCad 0 10 "装B专用版本")
)(princ "\n请注册 DWX 插件")
)(and DWX (vlax-release-object DWX))
(princ)
)

mikewolf2k 发表于 2018-3-21 09:04:45

装B是要付出代价的。预算多少?

dong20030432 发表于 2018-3-21 09:43:39

只要有一点API基础都可以做到,获取CAD的句柄(findwindow),修改其标题(setwindowtext)即可。

sunny_8848 发表于 2018-3-21 12:32:20

个性化需求

mokson 发表于 2018-3-21 13:34:04

找不到那个资源文件的字串,有人搞过吗

dong20030432 发表于 2018-3-21 15:03:01

mokson 发表于 2018-3-21 13:34
找不到那个资源文件的字串,有人搞过吗
这个不一定能找到。你编写一段程序,让跟随CAD启动,用程序去改就可以了,没必要非得这样吧?

mokson 发表于 2018-3-21 15:30:17

看来我不会编写这个程序了

zhangcan0515 发表于 2018-3-21 22:51:02

这样对吧 看看是不是你要的

liew502 发表于 2018-3-22 10:02:13

菜单栏装B行不?

sunny_8848 发表于 2018-3-22 12:50:59

zhangcan0515 发表于 2018-3-21 22:51
这样对吧 看看是不是你要的

这个效果不错了,可以发上来自行修改吗
页: [1] 2 3 4 5 6
查看完整版本: 教你在 AutoCAD 上”装B“