Se connecter avec
S'enregistrer | Connectez-vous

Modifier la police sur un fichier .BAT

Dernière réponse : dans Programmation
Expert Programmation

Bonjour,

Je suis en train de créer quelques script tous simple en batch, je voudrais savoir si on peut modifier la taille de la police lorsque que l'on exécute le fichier .bat?
J'ai déjà modifier la couleur de la police et du fond d'écran ainsi que la taille de la fenêtre:
@echo off
@cmdow @ /SIZ 1000 300
color f6

Merci de m'aider.

Autres pages sur : modifier police fichier bat

Lassé par la pub ? Créez un compte

Blabla, le texte qui clignote et les couleurs sont des propriétés qui existaient avant le DOS et qui sont codifiées par la norme ANSI, originellement pour les consoles texte des mainframes, ou la taille de la police n'était pas redimensionnable.

La base de registre est accessible par l'API Win32 grâce aux fonctions CloseKey, CreateKey, DeleteKey, DeleteValue, EnumKey, EnumValue, FlushKey, OpenKey, QueryInfoKey, QueryValue... Mais faire des modifs dans la BdR ne suffirait pas pour changer dynamiquement la police de la fenêtre en cours.

Citation :
"c'est impossible" n'existe pas en programmation.

Voilà un bon état d'esprit. :D 

Attention MacDuf, cmdow est une commande externe et indépendante du batch MS/DOS.

Avec un peu de VBScript, on devrait pouvoir ouvrir le menu contextuel de la fenêtre en cours et ainsi modifier la police. C'est ludique mais pas très pro.

Si on utilise un langage capable d'accéder aux API, c'est la fonction SetConsoleScreenBufferSize() qu'il faut utiliser.

Expert Programmation

Citation :
Avec un peu de VBScript, on devrait pouvoir ouvrir le menu contextuel de la fenêtre en cours et ainsi modifier la police. C'est ludique mais pas très pro.

En même temps, comme je l'avais sous-entendu il y a un moment, si on veut un truc pro, on ne fait pas une interface utilisateur avec la console. ;) 

Pour les fonctions API, il faudrait faire un test avec rundll32.

PetitTitre, on cherche à le programmer !

CRicky, je ne pense pas que rundll32 puisse nous être d'un grand secours. Cette commande permet de lancer des interfaces ou des services. Là, il s'agit d'initialiser des buffers, de les paramétrer notamment avec le handle de la fenêtre courante, puis de lancer une fonction avec ces variables en argument.

VBScript au contraire, me semble être une bien meilleure solution. Facile et sans compilateur (parce que sinon, on le fait en C et on est tranquille), en plus ça reste un script.
Expert Programmation

zeb, rundll32 permet d'exécuter n'importe quelle DLL, mais je n'avais pas pensé qu'il fallait un prototype de fonction particulier (pour les paramètres). Du coup, il faudrait faire sa propre DLL, ce qui fait perdre tout son intérêt. :D 
http://support.microsoft.com/kb/164787

Je ne l'avais pas dit, mais je suis d'accord avec le choix du VBScript.

Sinon pour ta modif PetitTigre, c'est dommage que la taille de la police ne soit pas dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
Lassé par la pub ? Créez un compte
Tom's guide dans le monde