几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(AutoLISP) (http://www.dimcax.com/hust/forumdisplay.php?f=178)
-   -   [原创]系统变量监视器 (http://www.dimcax.com/hust/showthread.php?t=10842)

yang686526 2009-04-25 10:18 PM

[原创]系统变量监视器
 
[原创]系统变量监视器
www.dimcax.com
[原创]系统变量监视器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70;|
( gps->sysvar-changed (a b)
( ( b) ( sysnew ( ( b) ( ( b)))))
(
(
( ( sysnew) ( sysold))
( ( ( sysnew) ( sysold)))
)
(
(
'princ
( "\n系统变量【 "( sysold)" 】从值 〖"( sysold)" 〗变到〖 "( sysnew)" 〗")
)
( ( ( ( sysold) sysresetlst))
( sysresetlst ( sysresetlst ( sysold)))
)
( sysold nil)
)
)
()
)
( gps->sysvar-willchange (a b)
( ( b)( sysold ( ( b) ( ( b)))))
()
)
( sysvar-reactor:start()
( sysresetlst nil)
( nil '((:vlr-sysvarchanged . gps->sysvar-changed )))
( nil '((:vlr-sysvarwillchange . gps->sysvar-willchange)))
()
)
( c:sys( ukw x)
( sysvar-reactor:stop()
( :vlr-sysvar-reactor)
()
)
( sysvar-reactor:reset( msg)
(
'( (x)
( msg ( 'setvar ( ( x) ( x))))
( ( msg )
( ( "\n" ( msg)))
(
'princ
( "\n系统变量【 " ( x) " 】恢复到 〖" ( x) " 〗")
)
)
)
sysresetlst
)
)
( 2 "s t r")
( ukw ( "\n系统变量监视器[启动(s)/停止()/恢复系统变量至监视前(r)]"))
(
(( "s" ukw)(sysvar-reactor:start))
(( "r" ukw)(sysvar-reactor:stop)(sysvar-reactor:reset))
( (sysvar-reactor:stop))
)
()
)
(sysvar-reactor:start)
()


用途::对于加载一些未知程序.监控其修改的系统变量.测试完程序.恢复系统变量.
d
好啊先下下来看看一下啊
谢谢楼主!!!!
d
支持一下
建议增加
:vlr-lispcancelled
在用户esc非法退出lisp时依然有效
(defun c:test()
(setvar "osmode" 0)
(getpoint)
)
命令: test
系统变量【 osmode 】从值 〖15359 〗变到〖 0 〗*取消*
; 错误: 函数被取消
命令:
原创加密lisp真正的破解.原创lisp操作cad内置对话框.原创lisp直接调用win32 api.原创lisp开发小助手(代码自动生成器).原创vba语句->lisp语句解释器.原创lisp音乐播放器.原创lisp直接使用vba对话框.
sys 命令可以恢复原先的系统变量值
d


所有的时间均为北京时间。 现在的时间是 05:35 AM.