LONGXIN 发表于 2011-10-11 21:42:50

请教怎么用LISP设置系统日期与时间

请教怎么用LISP设置系统日期与时间?

snddd2000 发表于 2011-10-12 11:45:39

我感觉在lisp里运行vba代码简单点
Time = #9:00:00 AM#
Date = #6/4/1989#
MsgBox Date & Time

highflybird 发表于 2011-10-12 18:43:55

本帖最后由 highflybird 于 2011-10-12 23:29 编辑

你可以利用shell命令,修改时间和日期:
或者更高级一点的:
(vl-load-com)
(defun C:CDT (/ item WMI COM SYS)
(setq WMI (vlax-create-object "WbemScripting.SWbemLocator"))
(setq COM (vlax-invoke WMI 'ConnectServer))
(setq SYS (vlax-invoke COM 'ExecQuery "Select * from Win32_OperatingSystem"))
(vlax-for item SYS
   ;UTC时间格式 (例如:2011-10-12 18:25:08 UTC+08:00)
   (vlax-invoke item 'SetDateTime "20111012182508.000000+480")   
)
(vlax-release-object COM)
(vlax-release-object SYS)
(vlax-release-object WMI)
(princ)
)
不过对于windows 7 或者vista 需要开启UAC。


LONGXIN 发表于 2011-10-13 13:10:57

highflybird 发表于 2011-10-12 18:43 static/image/common/back.gif
你可以利用shell命令,修改时间和日期:
或者更高级一点的:



谢谢。
使用SHELL会出现闪屏,有没有办法让SHELL使用时不闪屏呢?

highflybird 发表于 2011-10-13 15:02:33

本帖最后由 highflybird 于 2011-10-13 15:06 编辑

LONGXIN 发表于 2011-10-13 13:10 static/image/common/back.gif
谢谢。
使用SHELL会出现闪屏,有没有办法让SHELL使用时不闪屏呢?
可以利用 wscript.
(defun c:test()
(setq wsh (vlax-create-object "wscript.shell"))
(vlax-invoke wsh 'run "cmd.exe /c date 2011-10-13" 0)
(vlax-invoke wsh 'run "cmd.exe /c time 14:47:08" 0)
(vlax-release-object wsh)
(princ)
)
不管怎么样,在windows 7和vista中UAC始终是个问题。

寒潮大冬瓜 发表于 2024-6-13 21:05:50

        (SETQ
                bn2 (strcat "0导出TQQ"
                                        (menucmd "M=$(edtime,$(getvar,date),YYYYMODDhhmmss)")
                                )
我是这样利用时间来做图层名或者块名的
页: [1]
查看完整版本: 请教怎么用LISP设置系统日期与时间