我在win7操作系统下使用ccl,我在ccl控制台中调用run-program
函数,如下所示:
(ccl:run-program "notepad.exe" () :wait t)
之后,我可以在“任务管理器”的进程列表中找到“记事本”进程,并且ccl阻塞等待“记事本”进程退出。但是记事本的GUI窗口没有显示。似乎记事本只是在背景下运行。
我不确定我是否错过了“run-program”的任何参数,是否有人遇到同样的问题? 对此有何解决方案?
答案 0 :(得分:0)
我在Windows Vista下遇到同样的问题。 我的临时解决方法是启动一个批处理文件,其中包含要启动的程序。
例如C:/tmp/notepad-starter.bat包含:
notepad.exe %1
..允许我输入
(ccl:run-program "C:/tmp/notepad-starter.bat" '("C:/tmp/notepad.pl") )
...工作正常并启动notepad.exe进程,包括GUI。 您甚至可以在启动之前从Lisp中动态创建批处理文件。
答案 1 :(得分:0)
我发现了更简单的方法: 创建一个名为eg的批处理文件。通用分批starter.bat 其中仅包含%1%2%3%4
然后,您可以将可执行文件作为参数列表的一部分进行调用:
(ccl:run-program“C:/tmp/generic-batch-starter.bat”'(“notepad.exe”“textfile.txt”))
答案 2 :(得分:0)
这在Windows 7上对我有用,可以使记事本窗口可见
(ccl:run-program "cmd.exe" '("/c" "notepad.exe") :wait nil)