首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AutoLISP或ObjectARX中使用提升的权限运行应用程序

如何在AutoLISP或ObjectARX中使用提升的权限运行应用程序
EN

Stack Overflow用户
提问于 2020-03-02 14:33:39
回答 2查看 301关注 0票数 0

我需要运行在AutoCAD/ZWCAD中需要提升权限的应用程序。

通过LISP,我可以使用以下方法运行应用程序:

代码语言:javascript
复制
(startapp "C:\\[path]\\Application.exe")

但是对于需要电梯操作的应用程序,startapp返回nil,而应用程序不运行。

也曾尝试:

代码语言:javascript
复制
(setq Shell (vlax-get-or-create-object "Wscript.Shell"))
(setq updater(vlax-invoke-method Shell 'Exec (strcat path "Appname.exe" ) ) )
(vlax-release-object Shell)

但我得到了:

代码语言:javascript
复制
*error*: Automation error : WshShell.Exec : The requested operation requires elevation.

那么,运行外部应用程序的其他方式是否需要更高的权限呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-25 12:18:44

我发现在LISP和C++ ObjectARX中都可以这样做:

LISP:

代码语言:javascript
复制
(startapp "C:\\[path]\\run.bat")

在run.bat中

代码语言:javascript
复制
CALL "C:\[path]\Application.exe"

在我的网站上工作正常

ObjectARX C++

代码语言:javascript
复制
CString AppPath = _T("C:\\[path]\\");
CString App = AppPath + _T("Application.exe");
HINSTANCE aplication = ShellExecute(0, _T("open") , App , NULL , AppPath , SW_SHOWNORMAL);
票数 0
EN

Stack Overflow用户

发布于 2020-03-02 16:50:29

也许你可以试试RunAs

代码语言:javascript
复制
(startapp "runas /user:administrator C:\\[path]\\Application.exe")

当然,您将被提示输入密码。

您可以在这里找到替代方案:https://superuser.com/q/55809/60438

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60491014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档