J'utilise l'API C++ pour lancer MATLAB (via engOpenSingleUse). Tout fonctionne bien. Mais je voudrais changer le titre de la fenêtre de "MATLAB Command Window" à quelque chose d'autre.Existe-t-il un moyen de modifier le titre de la fenêtre de commande MATLAB?
J'ai souvent 4 ou 5 d'entre eux ouverts, et parfois un devient orphelin si mon programme se bloque. Si je pouvais changer le titre, j'aurais une meilleure chance de savoir lequel était quoi.
Y a-t-il une commande MATLAB que je pourrais exécuter (via engEvalString) qui ferait cela?
Darn. Cela fonctionne dans un MATLAB je me lance. (Les deux premières lignes, en utilisant getMainFrame). Cela ne fonctionne pas dans une fenêtre de commande MATLAB démarrée avec engOpen(). Je peux taper des commandes ici, voici l'erreur: »jDesktop = com.mathworks.mde.desk.MLDesktop.getInstance; »CmdWin = jDesktop.getClient ('Fenêtre de commande MATLAB'); »cmdWin.getTopLevelAncestor.setTitle ('mon nouveau titre'); ??? Essayez de référencer le champ du tableau de non-structure. –
Eric - le problème est probablement dû au fait que le code récupère correctement le handle jDesktop mais renvoie un handle cmdWin vide. C'est probablement parce que vous n'avez pas une fenêtre ouverte nommée "MATLAB Command Window" lorsque vous essayez d'obtenir le handle de référence cmdWin. Essayez d'exécuter jDesktop.getClientTitles (ou des variantes similaires - voir les méthodes (jDesktop) pour obtenir une liste complète des méthodes prises en charge) pour obtenir le nom réel du client de la fenêtre de bureau. –
Hmmm ..... Voici ce que je vois ..... getClientTitles renvoie 9 entrées, 'Command Window', 'Command History', etc etc etc Mais je ne vois qu'une seule fenêtre sur mon bureau Windows, et il est appelé 'Fenêtre de commande MATLAB'. Lorsque j'appelle jDesktop.getClient avec une chaîne ('MATLAB Command Window' ou 'Command Window'), il retourne simplement l'ensemble vide []. Je n'ai pas une instance régulière de MATLAB en cours d'exécution, c'est l'instance que j'ai de engOpen(). Merci d'essayer d'aider, j'apprécie vraiment! –