-
PrintTo et ShellExecute
Bonjour
Pour lancer une impression avec ShellExecute sur une imprimante en particulier, je change celle par défaut, j'imprime puis je remets l'imprimante par défaut précédemment définie. Classique !
Mais n'y aurait-il pas une autre solution ?
J'ai vu sur un site l'utilisation possible de "printto" en passant en paramètres les informations de l'imprimante de destination mais il semble que ça ne soit pas standard.
Une autre idée à me proposer ?
-
Qui est l'auteur du programme lancé via ShellExecute ?
Si c'est le tien, rien n'empêche d'enrichir ta ligne de commande si tu es aussi celui qui invoque le programme via un autre de tes programmes.
Si c'est un programme tiers, sans documentation du logiciel, si elle existe, sur la commande "Print", rien ne permet de savoir ce que tu peux faire.
Et "PrintTo" si effectivement, c'est connu, il dépend de l'effort du développeur d'avoir pensé que la ligne de commande reçue contienne le nom de l'imprimante.
Sans compter que ShellExecute tu fais un PrintTo sur un Fichier avec une extension connue, c'est le Shell qui lance l'exécutable associé à l'extension, et si je me trompe pas, cela dépend ensuite du mode de lancement.
Dans la base de registre le PrintTo doit être présent et ensuite soit c'est une simple "command" où le nom de l'imprimante sera passé en ligne de commande et il me semble que l'on peut utiliser à la place un mode DDE.
Faudrait vérifier ce que supporte le programme tiers.
-
Le programme a été créé il y a bien longtemps en D5 et je ne fais qu'aider à l'améliorer.
Après avoir lu ta réponse je suis allé fouiller dans la base de registre et j'ai bien trouvé des "printto" à divers endroits.
Le problème est que je ne peux savoir à l'avance quelle imprimante sera utilisée et il il sera difficile de savoir à l'utilisation si ce printto sera possible.
Je vais du côté de DDE pour voir les éventuelles solutions.
Merci de ton aide