我使用perl打开管道到pgnuplot.exe输出绘图命令。例如,
open ($PLOT, "|pgnuplot") or die "error: gnuplot not found!";
print $PLOT <<EOPLOT;
set term postscript eps enhanced "Arial" 20
set output "somefile.eps"
## do some plotting here ##
EOPLOT
close $PLOT;
我注意到gnuplot的窗口总是会弹出并暂时抓住鼠标和键盘的焦点。这使得在绘图脚本运行时很难使用计算机。
有没有办法阻止pgnuplot打开一个窗口?
答案 0 :(得分:0)
是的,在Windows(CreateProcess
API)中启动程序时,可以请求隐藏或最小化主窗口而不关注焦点(以及其他选项)。但我不知道perl是否提供了一种简单的方法。
您可以考虑使用batch operation(将绘图命令放在文件中,然后将文件名传递给gnuplot)。
答案 1 :(得分:0)
您可以通过Win32模块阻止显示子控制台窗口:
use Win32;
Win32::SetChildShowWindow(0);