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.
Drucker installieren per PB4
Drucker installieren per PB4
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Hey,
ich bin etwas weitergekommen. Mit diesem Befehl ann ich per VB6 einen Drucker installieren:
Der PB-Befehl zum Aufruf eines externen Programes ist:
Habe einiges versucht, den Aufruf in PB umzusetzen. Bin am verzweifeln.
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"
Code: Alles auswählen
Aufruf=RunProgram(prgname$,parameter$,"",1)
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
so?
Grüße ... Kiffi
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"
a²+b²=mc²
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
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9