Comment contrôlez-vous le plateau de l'imprimante sélection d'imprimante dans Windows

Nous avons besoin pour être en mesure de modifier la valeur par défaut sélectionnée plateau d'impression d'une imprimante donnée. Quelqu'un aurait-VC++/win32 code pour faire cela?

En cas de questions, je crois que nous avons de changer le réglage par défaut de l'imprimante. Nos travaux d'impression sont exécutées par une application autre que la nôtre, nous ne pouvons pas faire ces sortes de modifications dans le cadre d'une opération d'impression provenant de l'intérieur de notre application. Sauf s'il existe un moyen de modifier les paramètres d'impression par défaut dans une autre application, je pense que nous sommes coincés modification de l'utilisateur par défaut pour l'imprimante, mettre en œuvre notre travail d'impression, puis en réglant les paramètres par défaut en arrière à l'original des valeurs.

Nous aimerions vraiment préfèrent avoir les valeurs par défaut de changement pour l'utilisateur courant, et ne pas nécessiter une élévation, etc...

Je soupçonne qu'il va utiliser quelque chose de similaire à ce qui est indiqué dans cet article MSDN, et impliquent la définition des champs de la structure DEVMODE (dmDefaultSource ou dmFormName ou les deux).

Tout preneurs? Ou est-ce quelqu'un avez des astuces à partager?

EDIT: Voici un lien pour DEVMODE documentation DEVMODE documentation

EDIT: je tiens également à souligner que nous sommes à la recherche d'une solution générale - pas quelque chose de spécifique à une imprimante particulière (nous déployer dans de nombreux, de nombreux environnements)

OriginalL'auteur Kevin Day | 2008-10-03