2011-04-19 88 views
0

我使用win7下OS CCL,我称之为CCL控制台run-program功能是这样的:运行程序clozure Common Lisp中不显示GUI窗口

(ccl:run-program "notepad.exe"() :wait t) 

在那之后,我能找到的“记事本”从“任务管理器”处理进程列表中,ccl块等待“记事本”进程退出。但记事本的GUI窗口不显示。记事本似乎只是在背景下运行。

我不确定我是否错过任何参数来“运行程序”,有没有人遇到同样的问题?
任何解决方案?

回答

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

0

我发现了一个甚至是easyer的方式: 创建一个名为eg的批处理文件。通用分批starter.bat ,其只包含%1%2%3%4

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

(CCL:运行程序“C:/ TMP /generic-batch-starter.bat”“( “Notepad.exe的” “TextFile.txt的”))

0

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

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