;############################################# ;Alle im System installierten Drucker auslesen ;############################################# ;Andreas Miethe * 03.2003 ;############################################# ;ab PB 4.x ;############################################# Structure Printers P.s EndStructure NewList Printers.Printers() *Buffer = AllocateMemory(2048) Buffersize = 2048 Buff$ = Space(1024) GetProfileString_("devices",0,"error",*Buffer,Buffersize) a$ = PeekS(*Buffer) Length = Len(a$) If a$ <> "error" For I = 1 To 50 ;mehr als 50 Drucker wird wohl keiner installiert haben ;ich habe 8 installiert und finde das ist schon reichlich If a$ = "":I = 50:EndIf If a$ <> "" Debug "Device : "+a$ GetPrivateProfileString_("devices",a$,"error",Buff$,1024,"Win.Ini") Debug "Treiber : " + StringField(Buff$,1,",") Debug "Port : " + StringField(Buff$,2,",") AddElement(Printers()) Printers()\P = a$+","+StringField(Buff$,1,",")+","+StringField(Buff$,2,",") EndIf a$ = PeekS(*Buffer+Length + 1) Length = Length + Len(a$) + 1 a$ = PeekS(*Buffer+Length + 1) Next Else MessageRequester("Fehler","Kein Drucker installiert",64) EndIf Debug "" ResetList(Printers()) While NextElement(Printers()) Debug Printers()\P Wend Debug "" SelectElement(Printers(),2);Nummer 3 auswählen und anzeigen Debug Printers()\P FreeMemory(*Buffer) ; IDE Options = PureBasic v4.01 (Windows - x86) ; Folding = -