有没有办法改变MATLAB命令窗口的标题?

我正在使用C ++ API来启动MATLAB(通过engOpenSingleUse)。 一切工作正常。 但是我想将窗口的标题从“MATLAB命令窗口”更改为其他内容。

我经常有4或5个打开,偶尔有一个如果我的程序崩溃孤儿。 如果我能改变标题,我会更好地知道哪一个是哪个。

有一个MATLAB命令,我可以执行(通过engEvalString),这将做到这一点?

Solutions Collecting From Web of "有没有办法改变MATLAB命令窗口的标题?"

对于Matlab 7:

jDesktop = com.mathworks.mde.desk.MLDesktop.getInstance; jDesktop.getMainFrame.setTitle('my new title'); 

*或专门用于命令窗口:

 cmdWin = jDesktop.getClient('Command Window'); cmdWin.getTopLevelAncestor.setTitle('my new title'); 

对于Matlab 6:

 jDesktop = com.mathworks.ide.desktop.MLDesktop.getMLDesktop; jDesktop.getMainFrame.setTitle('my new title'); 

*或用于命令窗口:

 cmdWin = jDesktop.getClient('Command Window'); cmdWin.getTopLevelWindow.setTitle('my new title'); 

其他相关的未记录的桌面功能在这里描述:
http://UndocumentedMatlab.com/blog/tag/desktop/

尝试直接针对Java AWT类进行编码。 这可能会更灵活,在C ++下运行的Matlab引擎中工作。 (在这方面没有测试过,因为我不使用引擎。)

 function change_win_title(oldName, newName) wins = java.awt.Window.getOwnerlessWindows(); for i = 1:numel(wins) if isequal(char(wins(i).getTitle()), oldName) wins(i).setTitle(newName); end end 

你会这样使用它。

 change_win_title('MATLAB Command Window', 'My new window name') 

您可以使用其他测试(窗口类等)来确定感兴趣的窗口。