Imprimante par défaut en vb - la solution

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 975 fois - Téléchargée 36 fois


Contenu du snippet

Après être venu ici, et avoir vu un lien vers MSDN je suis allé voir sur ce dernier comment les gens de µ$ résolvaient cette question.

Après analyse du code (plus de 300 lignes), il s'avère qu'il est toujours possible de faire compliqué quand on peut faire simple!

Voilà donc mon petit module que vous pourrez adapter à votre sauce.

Source / Exemple :


Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lparam As String) As Long
Sub Main()
  If Command$ = "" Then
    For Each Prt In Printers: Set Printer = Prt: m$ = m$ + vbCrLf + Printer.DeviceName: Next
    MsgBox "Pour changer l'imprimante par défaut, passez en paramètre au programme une sous-chaîne unique d'une des chaînes suivantes (attention aux majuscules/minuscules) :" + _
           vbCrLf + m$, 64, "ImpDefaut"
  Else
    For Each Prt In Printers
      If InStr(Prt.DeviceName, Command$) > 0 Then Set Printer = Prt: Exit For
    Next
    
    r = WriteProfileString("windows", "Device", Printer.DeviceName + "," + Printer.DriverName + "," + Printer.Port)
    l = SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, "windows")
  End If
End Sub

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
dimanche 8 février 2004
Statut
Membre
Dernière intervention
22 avril 2004

semble ne pas marcher sous Xp ! vous confirmez ??
Messages postés
9
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
11 juin 2003

Bonjour , je programme sous un autre langage Dark Basic et j'aurai besoin d'une DLL me permettant d'imprimer du texte (en couleur , en italique , en gras ...) et d'imprimer des images (couleur) cette DLL pourrait aussi gérer l'impression . Pourriez vous me créer cette DLL , cela serrai utile à des centaines de personnes , Je vous remercie Beaucoup @+Léo
Messages postés
9
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
11 juin 2003

Bonjour , je programme sous un autre langage Dark Basic et j'aurai besoin d'une DLL me permettant d'imprimer du texte (en couleur , en italique , en gras ...) et d'imprimer des images (couleur) cette DLL pourrait aussi gérer l'impression . Pourriez vous me créer cette DLL , cela serrai utile à des centaines de personnes , Je vous remercie Beaucoup @+Léo
Messages postés
2
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
21 mai 2003

Oops!

Public Const HWND_BROADCAST = &HFFFF
Public Const WM_WININICHANGE = &H1A

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.