Seite 1 von 1
Drucker installieren per PB4
Verfasst: 30.11.2006 17:27
von dysti
Hallo,
ich möchte mit Purebasic einen Systemdrucker, den Generic-Textdrucker, einrichten. Muß ja wie bei ODBC auch per API möglich sein. Wie kann ich das machen.
Verfasst: 30.11.2006 22:40
von dysti
Hey,
ich bin etwas weitergekommen. Mit diesem Befehl ann ich per VB6 einen Drucker installieren:
Code: Alles auswählen
Shell "rundll32 printui.dll,PrintUIEntry /if /f c:\Windows\inf\ntprint.inf /r " & _
Chr$(34) & "File:" & Chr$(34) & " /m " & _
Chr$(34) & "Apple Color LW 12/660 PS" & Chr$(34) & " /b " & _
Chr$(34) & "Mein Drucker" & Chr$(34) & " /z"
Der PB-Befehl zum Aufruf eines externen Programes ist:
Habe einiges versucht, den Aufruf in PB umzusetzen. Bin am verzweifeln.
Verfasst: 30.11.2006 23:02
von Kiffi
so?
Code: Alles auswählen
prgname$ = "rundll32"
parameter$ = "printui.dll,PrintUIEntry /if /f c:\Windows\inf\ntprint.inf /r " + Chr(34) + "File:" + Chr(34) + " /m " + Chr(34) + "Apple Color LW 12/660 PS" + Chr(34) + " /b " + Chr(34) + "Mein Drucker" + Chr(34) + " /z"
Grüße ... Kiffi
Verfasst: 01.12.2006 08:08
von dysti
Danke Kiffi.
Hatte die Zeile auch so, aber weiß der Teufel, was an deiner Zeile anders ist. Auf jeden Fall habe ich meine Zeile gelöscht und deine eingefügt. Nun funktioniert es. Super.
Verfasst: 01.12.2006 14:43
von dysti
Also, hier jetzt das vollständige Tool. Man kann auch den Drucker wieder löschen. Vielleicht kann es ja auch jemand anderes gebrauchen.
Code: Alles auswählen
Procedure Druckerinst()
prgname$ = "rundll32.exe"
; Für Windows XP
;parameter$ = "printui.dll,PrintUIEntry /if /f c:\Windows\inf\ntprint.inf /r " + Chr(34) + "File:" + Chr(34) + " /m " + Chr(34) + "Generic / Text Only" + Chr(34) + " /b " + Chr(34) + "Mein Drucker" + Chr(34) + " /z"
; Für Windows 2000 Professionel
parameter$ = "printui.dll,PrintUIEntry /if /f c:\Winnt\inf\ntprint.inf /r " + Chr(34) + "File:" + Chr(34) + " /m " + Chr(34) + "Generic / Text Only" + Chr(34) + " /b " + Chr(34) + "Mein Drucker" + Chr(34) + " /z"
If RunProgram(prgname$,parameter$,"",1)
MessageRequester("","Drucker wurde installiert")
Else
MessageRequester("","Drucker konnte nicht installiert werden")
EndIf
EndProcedure
Procedure Druckerloeschen()
prgname$ = "rundll32"
parameter$ = "printui.dll,PrintUIEntry /dl /n " + Chr(34) + "Mein Drucker" + Chr(34)
If RunProgram(prgname$,parameter$,"",1)
MessageRequester("","Drucker wurde erfolgreich gelöscht")
Else
MessageRequester("","Drucker konnte nicht gelöscht werden")
EndIf
EndProcedure
If OpenWindow(0, 100, 200, 320, 200, "Druckerinstallation", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID(0))
ButtonGadget(1, 40, 120, 100, 30, "Drucker installieren")
ButtonGadget(2, 180, 120, 100, 30, "Drucker löschen")
TextGadget(3, 40, 20, 250, 20, "Manuelle", #PB_Text_Center)
TextGadget(4, 40, 70, 250, 20, "Druckerinstallation", #PB_Text_Center)
ButtonGadget(5, 110, 160, 100, 30, "Ende")
EndIf
EndIf
Repeat
EventID = WaitWindowEvent()
WindowID=EventWindow()
GadgetID=EventGadget()
EventType=EventType()
Select EventID
Case #PB_Event_Gadget
EventID=EventGadget()
If EventID=1
Druckerinst()
End
ElseIf EventID=2
Druckerloeschen()
End
ElseIf EventID=5
End
EndIf
EndSelect
Until EventID=#PB_Event_CloseWindow
End