将Matlab uigetfile窗口置于所有其他程序的前面?

时间:2016-04-12 19:02:53

标签: matlab setfocus

我从另一个程序(Vicon Nexus 2.3)调用脚本。这个其他程序将启动Matlab,然后运行脚本。

脚本的第一件事是调用uigetfile()。但是,由于Nexus程序具有Windows焦点,因此uigetfile()窗口会出现在所有内容之后。有没有办法在不使用鼠标的情况下把它带到前面?

我试过了:

shg
uistack()

但我认为这里的问题是Windows焦点,而不是uistack。有人知道这是否可能?

1 个答案:

答案 0 :(得分:3)

您需要做的是在打开uigetfile对话之前将Matlab放在前面。你可以这样做,例如致电commandwindow

commandwindow();
uigetfile();

通过从命令行启动Matlab并在打开后覆盖其他一些窗口进行测试,但在执行pause之后的代码之前:

matlab -r "pause(3); commandwindow(); uigetfile();"