Hello guys, I'm trying to add a new printer (printers/faxes).
I'm using the following:
VB Code:
  1. Module Module1
  2.     Public Declare Auto Function OpenPrinter Lib "winspool.drv" _
  3.                             (ByVal pPrinterName As String, _
  4.                             ByRef phPrinter As IntPtr, _
  5.                             ByVal pDefault As PrinterDefaults) As Int32
  6.     Public Declare Function DeletePrinter Lib "winspool.drv" _
  7.                          (ByVal hPrinter As IntPtr) As Int32
  8.  
  9.     Public Declare Function ClosePrinter Lib "winspool.drv" _
  10.                 (ByVal hPrinter As IntPtr) As Int32
  11.     Private Declare Function AddPrinter Lib "winspool.drv" _
  12.        Alias "AddPrinterA" _
  13.       (ByVal pServerName As String, _
  14.        ByVal Level As Int32, _
  15.     ByVal pPrinter As PRINTER_INFO_2) As Int32
  16.     Structure PRINTER_INFO_2
  17.         Public pServerName As String
  18.         Public pPrinterName As String
  19.         Public pShareName As String
  20.         Public pPortName As String
  21.         Public pDriverName As String
  22.         Public pComment As String
  23.         Public pLocation As String
  24.         Public pDevMode As Int32  'DEVMODE
  25.         Public pSepFile As String
  26.         Public pPrintProcessor As String
  27.         Public pDatatype As String
  28.         Public pParameters As String
  29.         Public pSecurityDescriptor As Int32  'SECURITY_DESCRIPTOR
  30.         Public Attributes As Int32
  31.         Public Priority As Int32
  32.         Public DefaultPriority As Int32
  33.         Public StartTime As Int32
  34.         Public UntilTime As Int32
  35.         Public Status As Int32
  36.         Public cJobs As Int32
  37.         Public AveragePPM As Int32
  38.     End Structure
  39.  
  40.     Structure PrinterDefaults
  41.         Public pDataType As String
  42.         Public pDevMode As Int32
  43.         Public permissions As Int32
  44.     End Structure
  45.  
  46.     Public Const PRINTER_ACCESS_ADMINISTER As Int32 = &H4
  47.     Public Const STANDARD_RIGHTS_REQUIRED As Int32 = &HF0000
  48.     Public Const PRINTER_ACCESS_USE As Int32 = &H8
  49.     Public Const PRINTER_ALL_ACCESS As Int32 = _
  50.                       STANDARD_RIGHTS_REQUIRED Or _
  51.                       PRINTER_ACCESS_USE Or _
  52.                       PRINTER_ACCESS_ADMINISTER
  53.  
  54.     Sub RemovePrinter(ByVal PrinterName As String)
  55.         Dim hPrinter As IntPtr
  56.         Dim PrinterDefs As New PrinterDefaults
  57.         Dim rtn As Int32
  58.         PrinterDefs.permissions = PRINTER_ALL_ACCESS
  59.         rtn = OpenPrinter(PrinterName, hPrinter, PrinterDefs)
  60.         rtn = DeletePrinter(hPrinter)
  61.         rtn = ClosePrinter(hPrinter)
  62.     End Sub
  63.     Sub addprinter1(ByVal PrinterName As String)
  64.         Dim pi2 As PRINTER_INFO_2
  65.         With pi2
  66.             .pPrinterName = PrinterName
  67.             .pPortName = "RPT2:"
  68.             .pDriverName = "Apple LaserWriter 12/640 PS"
  69.             .pPrintProcessor = "WinPrint" '?
  70.         End With
  71.         Dim rtn As Int32
  72.         rtn = AddPrinter("", 2, pi2)
  73.     End Sub
  74.     Sub Main()
  75.         'addprinter1("test1")
  76.         RemovePrinter("test")
  77.     End Sub

But nothing happens!
What else must I do?