Common lisp 在clozure common lisp中运行程序不显示GUI窗口

Common lisp 在clozure common lisp中运行程序不显示GUI窗口,common-lisp,subprocess,Common Lisp,Subprocess,我在win7操作系统下使用ccl,我在ccl控制台中调用run program函数如下: (ccl:run-program "notepad.exe" () :wait t) 之后,我可以在“任务管理器”的进程列表中找到“记事本”进程,ccl块等待“记事本”进程退出。但记事本的GUI窗口不显示。似乎记事本只是在后台运行 我不确定是否遗漏了“运行程序”的任何参数,是否有人遇到同样的问题? 有什么解决办法吗?在Windows Vista下,我也有同样的问题。 我的临时解决方法是启动一个批处理文件,

我在win7操作系统下使用ccl,我在ccl控制台中调用
run program
函数如下:

(ccl:run-program "notepad.exe" () :wait t)
之后,我可以在“任务管理器”的进程列表中找到“记事本”进程,ccl块等待“记事本”进程退出。但记事本的GUI窗口不显示。似乎记事本只是在后台运行

我不确定是否遗漏了“运行程序”的任何参数,是否有人遇到同样的问题?

有什么解决办法吗?

在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中动态创建批处理文件。

我找到了一种更简单的方法: 创建一个名为generic-batch-starter.bat的批处理文件 它只包含%1%2%3%4

然后可以调用可执行文件作为参数列表的一部分:


(ccl:运行程序“C:/tmp/generic batch starter.bat”(“notepad.exe”“textfile.txt”)

这对我来说在Windows 7上工作,使记事本窗口可见

(ccl:run-program "cmd.exe" '("/c" "notepad.exe") :wait nil)