当某些逗号
你好我希望在运行命令时执行某个操作。
我们使用一个名为AutoTurn的程序进行车辆检查。我们有一个席位的网络许可证,约25个用户。我们不经常使用该程序,但当使用它时,它会保持许可证处于活动状态,直到AutoCAD完全关闭。
我们在办公室范围内发送邮件,看看谁在使用该软件。
我想设置一些东西,这样人们就可以知道谁使用了这个程序。
我考虑使用某种lisp进入网页并保存用户名,这样每个人都可以检查该网站,看看许可证是否正在使用。
我无法编辑程序的代码以添加一些行来为我执行此操作,因此我想识别加载自动翻转程序时发出的最后一个命令。
命令名为“CMD\u AT\u INITIALIZEDONE”。
我用该命令和一些警报动作制作了一个lisp,以检查它是否加载,但我认为当程序加载时,该命令会被覆盖。
有没有办法检查命令是否已运行,然后执行操作? 首先需要确定运行命令是否会触发对命令反应器回调函数或LISP反应器回调函数的求值(或两者都不求值)。
为了测试这一点,请加载以下代码,然后尝试运行您的命令:
( (lambda nil (vl-load-com)
(foreach grp (vlr-reactors :vlr-command-reactor :vlr-lisp-reactor)
(foreach obj (cdr grp)
(if (= "autoturn-test" (vlr-data obj))
(vlr-remove obj)
)
)
)
(vlr-command-reactor "autoturn-test" '((:vlr-commandwillstart . cmdcallback)))
(vlr-lisp-reactor "autoturn-test" '((:vlr-lispwillstart . lspcallback)))
(princ)
)
)
(defun cmdcallback ( rtr arg )
(princ (strcat "\nCMDCALLBACK EVALUATED FOR " (strcase (car arg)) " COMMAND."))
(princ)
)
(defun lspcallback ( rtr arg )
(princ (strcat "\nLSPCALLBACK EVALUATED FOR " (strcase (car arg)) " FUNCTION."))
(princ)
)
(princ),然后发布命令行输出(如果有)。
无论运行哪个AutoTURN命令来管理许可证,该命令都会自动运行。我们共享办公室的许可证,因为我们只需要在某些道路工作中短暂使用。
2015年将让您知道它是否已加载并使用其中一个许可证。我们通常在完成后退出并重新打开AutoCAD,以确保许可证是免费的。您可以修改自动翻转的CUI或添加自动翻转。mnl需要包含lisp,因为它没有附带lisp。
你想做什么? 您可以通过license manager查看谁在使用Autoturn的正确方法这是从Autocad外部运行的,作为network license manager的一部分。我知道这一点,因为我管理它。需要注意的是,如果你让每个人都可以访问管理1他们可以杀死任何人,2他们可以完全塞满网络许可证。我们使用相同的自动回邮邮件组。如果我收到一条我通常会检查的邮件,作为规则,谁在使用,我们对用户发布软件的请求有很好的响应,他们会回复邮件组。也可以卸载arx以释放而不是关闭Autocad。Appload,加载的应用程序,at2013x64。arx公司
这是我得到的回报。Cadtutor。lsp高于代码。
2
多亏了其他人。我现在至少发出了卸载ARX的命令。
然而,我无法亲自检查许可证,除非有一个基于Web的界面。我们无法控制许可证服务器机器。
发送电子邮件效率不高。如果使用许可证的人没有阅读电子邮件怎么办。
人们应该习惯于发布许可证,但这不太可能在短期内实现。
我想在不使用正确方法的情况下尽可能地简化。 服务器的管理不仅仅是一种全局访问,你可以极大地控制谁可以做什么,你可以被允许只使用该程序来检查谁在使用。您可以隐藏、查看、运行、读取和写入各种组合。联系您的IT管理员。
可以进行反应堆检测,以检测Autoturn是否已启动并写入服务器上的文件,(getenv“username”)这是用户的名称。
我会好好想想的。可能是一个简单的(如果不是“CMD\u AT_*”之类的废话
页:
[1]