PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → iConfigure, iParametre et quoi d'autre ?
iConfigure, iParametre et quoi d'autre ?
Débuté par Pat 16, 28 avr. 2017 14:21 - 5 réponses
Membre enregistré
351 messages
Popularité : +13 (17 votes)
Posté le 28 avril 2017 - 14:21
Bonjour,

Je cherche à ouvrir la fenêtre d'une imprimante. C'est à dire la fenêtre du drivers de l’imprimante et non la fenêtre de windows.
Quand on utilise iParametre on obtient la fenêtre de Windows.




Savez vous comment obtenir (le plus simplement) la fenêtre du drivers ?



Ci-dessu la fenêtre du drivers tel que l'on peu l'ouvrir depuis l’aperçu avec "Propriété de l’imprimante".
Et évidement enregistrer les informations pour la prochaine impression.

Merci à vous.
BON DEV
Membre enregistré
280 messages
Popularité : +22 (28 votes)
Posté le 30 avril 2017 - 05:57
Bonjour,

iAperçu
iDestination
iPolice

--
Cordialement.
Je vous souhaite une bonne journée depuis le Vietnam.

Olivier.
http://www.impulse-web.com
Posté le 03 mai 2017 - 11:09
Le 30/04/2017 à 03:57, Olivier BLAIS a écrit :
Bonjour,

iAperçu
iDestination
iPolice

--
Cordialement.
Je vous souhaite une bonne journée depuis le Vietnam.

Olivier.
http://www.impulse-web.com

Je ne crois pas que cela répond à la question et ou qu'en partie
Membre enregistré
190 messages
Popularité : +21 (23 votes)
Posté le 03 mai 2017 - 12:06
Bonjour

avec API et winspool.drv peut être...
Membre enregistré
940 messages
Popularité : +66 (68 votes)
Posté le 03 mai 2017 - 13:38
bonjour ,

effectivement normalement avec les api çà devrait fonctionner, voici un bout de code :
( à terminer et améliorer et tester surtout en 32 & 64 bits )

PRINTER_INFO_2 est une structure

pServerName est un entier
pPrinterName est un entier
pShareName est un entier
pPortName est un entier
pDriverName est un entier
pCommen est un entier
pLocation est un entier
pDevMode est un entier
pSepFile est un entier
pPrintProcessor est un entier
pDatatype est un entier
pParameters est un entier
pSecurityDescription est un entier
Attributes est un entier
Priority est un entier
DefaultPriority est un entier
StartTime est un entier
UntilTime est un entier
Stat est un entier
cJobs est un entier
AveragePPM est un entier
FIN

_printer_name est une chaîne ASCIIZ de 128
_hdl_printer est un entier=0
_buff_out est un Buffer
_size est un entier
_my_print_info_2 est un PRINTER_INFO_2

_lst_printer est une chaîne=iListeImprimante()

POUR TOUT CHAÎNE _printer de _lst_printer SEPAREE PAR RC
SI OuiNon(_printer) ALORS
_printer_name=_printer
SORTIR
FIN
FIN

// Ouverture de l'imprimante
API("winspool.drv","OpenPrinterA",&_printer_name,&_hdl_printer,Null)

// Demande la taille du DEVMODE
_size=API("winspool.drv","DocumentPropertiesA",Handle(F_Administration),0,&_printer_name,0,0,0)
_buff_out=Répète(Caract(0),_size)

// Affiche les paramètres
// DM_PROMPT = 4
// DM_OUT_BUFFER = 2
// DM_IN_BUFFER = 8
SI API("winspool.drv","DocumentPropertiesA",Handle(F_Administration),0,&_printer_name,&_buff_out,0,4|2)=2 ALORS
// CANCEL
SINON
// OK

// défini les paramètres
API("winspool.drv","DocumentPropertiesA",Handle(F_Administration),0,&_printer_name,&_buff_out,&_buff_out,8|2)

_my_print_info_2:pDevMode=&_buff_out

API("winspool.drv","SetPrinterA",_hdl_printer,2,&_my_print_info_2,0)

FIN

API("winspool.drv","ClosePrinter",_hdl_printer)


de bon liens de ressources :
http://centrewd.free.fr/…

https://msdn.microsoft.com/fr-fr/library/windows/desktop/dd183576(v=vs.85).aspx


bon dèv
Membre enregistré
351 messages
Popularité : +13 (17 votes)
Posté le 06 mai 2017 - 11:07
Merci à vous,
Je vais regarder cela, mais je trouve dommage qu'on ne puisse pas le faire directement avec une seule commande WD alors que cela existe dans leur fenêtre de l’aperçu !.

BON DEV