Je suis en train de préparer une nouvelle version de PngOptimizer, et j'y ajoute notamment la possibilité de pouvoir l'utiliser en ligne de commande. Par conséquent, ce logiciel aurait deux modes : un mode graphique, ou un mode en ligne de commande.
Et là je me confronte à une grosse difficulté : Windows, contrairement à d'autres systèmes d'exploitation, fait la différence entre ces modes de fonctionnement. Soit un programme est de type ligne de commande, soit il est de type graphique. Il s'agit d'un flag dans l'en-tête du fichier exécutable qui donne cette information à Windows. Voici les principales différences :
Exécutable de type « ligne de commande » :
Pour les exécutable de type « graphique », c'est l'inverse :
Ce que j'aimerais, c'est avoir un programme blocant mais qui n'ouvre pas de fenêtre console automatiquement. En raison de cette bizarrerie de conception de Windows, je ne peux pas faire en sorte que PngOptimizer ait ce comportement hybride. Je tiens à présenter mes excuses à l'utilisateur qui m'a demandé cette amélioration, cela est en train de prendre plus de temps que prévu.
J'ai tenté de contourner le problème de différentes façons, sans résultat acceptable. Je vais peut-être devoir fournir deux versions séparées, une pour la ligne de commande, une avec une interface graphique. Ce système d'exploitation me rend si las parfois...