1005100717 发表于 2018-8-9 20:01:58

lisp调用exe不黑屏的办法

直接上代码,觉得能用点个赞
(vl-load-com)
(setq myapp(vlax-create-object "WScript.Shell"))
(Vlax-invoke-method myapp "run" (strcat fileName " -p") 1)    ;;fileName 是exe的绝对路径,这里加入了-p参数
(vlax-release-object myapp)

代码解释:
通过 wscript.shell控件,这个控件大家可以自行百度以下。

WshShell.Run (strCommand, , )

run方法,第一个参数时 运行exe的绝对路径 ,可以加入相关参数,比如什么 -a -s之类的

第二个参数是运行exe的初始模式

名称值含义
SW_HIDE0隐藏窗口并激活另一窗口。
SW_SHOWNORMAL1激活并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。
SW_SHOWMINIMIZED2激活窗口并以最小化显示该窗口。
SW_SHOWMAXIMIZED3激活窗口并以最大化显示该窗口。
SW_SHOWNOACTIVATE4按窗口最近的大小和位置显示。活动窗口保持活动。
SW_SHOW5以当前大小和位置激活并显示窗口。
SW_MINIMIZE6最小化指定窗口并激活按 Z 序排序的下一个顶层窗口。
SW_SHOWMINNOACTIVE7最小化显示窗口。活动窗口保持活动。
SW_SHOWNA8以当前状态显示窗口。活动窗口保持活动。
SW_RESTORE9激活并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。




第三个参数是,是否等待exe直接结束再返回。默认是不等待。


panliang9 发表于 2018-8-10 09:03:55

本帖最后由 panliang9 于 2018-8-10 09:06 编辑

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=113028&highlight=%B5%F7%D3%C3

在阿勇版主的这个贴子里,刚好说到这个黑屏的问题,楼主提供的代码也许能解决这个问题。收藏了。

zzyong00 发表于 2018-8-10 09:17:35

这个不错!用的是WScript,一般电脑都不会禁用

panliang9 发表于 2018-8-10 09:36:46

zzyong00 发表于 2018-8-10 09:17
这个不错!用的是WScript,一般电脑都不会禁用

等版主作品更新!

young-yi 发表于 2018-8-13 09:13:04

等版主作品更新!

LIULISHENG 发表于 2020-2-25 09:15:34

必须支持的

烟盒迷唇 发表于 2022-3-27 07:07:16

出现了错误,未提供说明,是啥原因啊
页: [1]
查看完整版本: lisp调用exe不黑屏的办法