IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Liste des imprimante


Sujet :

Windows

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 41
    Points : 38
    Points
    38
    Par défaut [RESOLU] Liste des imprimante
    Bonjour,

    Je voudrai récuperer la liste des imprimantes installé sur un poste avec une fonction de l'API Win32 (sans MFC si possible) . Je souhaite obtenir leurs noms , c'est a dire le nom quelles ont dans parametres->Imprimante et pas le nom du driver.

    Merci

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Bon meme si mon poste n'a pas interesser grand monde (personne ne la lue) je vais moi même repondre a m'a question peut etre que ca aidera qq1 1 jour.

    Donc voici une foncion qui remplit le ListBox corespondant a id_Ctrl de la fenetre hWnd avec le nom des imprimante installé sur le poste (pas celle du reseaux) . La structure LPPRINTER_INFO_2 contient egalement d'autre info sur les imprimantes installé .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    bool GetPrinterList(HWND hWnd,int id_Ctrl)
    {
    	DWORD				dwSizeNeeded;
    	DWORD				dwNumItems;
    	DWORD				dwItem;
    	LPPRINTER_INFO_2		lpInfo = NULL;
    
    	EnumPrinters ( PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &dwSizeNeeded, &dwNumItems );
    
    	lpInfo = (LPPRINTER_INFO_2)HeapAlloc ( GetProcessHeap (), HEAP_ZERO_MEMORY, dwSizeNeeded );
    	if ( lpInfo == NULL )
    	{
    		puts ( "Not enough memory\n" );
    		return 0;		
    	}
    
    	if ( EnumPrinters ( PRINTER_ENUM_LOCAL,
    			    NULL,
    			    2,
    			    (LPBYTE)lpInfo,
    			    dwSizeNeeded,
    			    &dwSizeNeeded,
    			    &dwNumItems	
    			  ) == 0 )
    	{
    		MessageBox(NULL,"Impossible de trouver les imprimantes","erreur !!!",MB_OK);
    		return false;
    	}
     
    	for &#40; dwItem = 0; dwItem < dwNumItems; dwItem++ &#41;
    	&#123;
    		SendDlgItemMessage&#40;hWnd,id_Ctrl,LB_INSERTSTRING,dwItem,&#40;LPARAM&#41;lpInfo&#91;dwItem&#93;.pPrinterName&#41;;
    
    	&#125;
    
    	HeapFree &#40; GetProcessHeap &#40;&#41;, 0, lpInfo &#41;;
    
    	return true;
    &#125;
    Voila j'espere que ce sera utile a qq1.

  3. #3
    Membre chevronné Avatar de jeanbi
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 703
    Points : 2 247
    Points
    2 247
    Par défaut

    comme on dit, on n'est jamais si bien servi que par soi même
    Merci pour ta reponse
    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/09/2006, 18h19
  2. Affichier la liste des imprimante en VbScript
    Par PrinceMaster77 dans le forum ASP
    Réponses: 1
    Dernier message: 01/08/2006, 10h01
  3. [VBA-E] Liste des imprimantes installées
    Par CCRNP dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 03/03/2006, 12h38
  4. Chargement de la liste des imprimantes dans TPrinterDialog
    Par bernie.noel dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/02/2006, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo