Ver Mensaje Individual
  #4  
Antiguo 27-01-2012
RaulChemical RaulChemical is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 59
Reputación: 21
RaulChemical Va por buen camino
Pues tío, despues de no ser capaz de crear la impresora me fui por otro camino y al final lo he conseguido, pero tu solución me la apunto por si acaso....

El problema que tenía era que WNetAddConnection2W lanza "por debajo" un comando "net use \\Servidor\Impresora" que lo que hace es mapearla como recurso pero no la creaba como impresora de red.

Al final lo he hecho lanzando un vbscript:

Código:
Option Explicit
Dim objNetwork, strUNCPrinter, bForce, bUpdateProfile
strUNCPrinter = "\\Servidor\Impresora"
bForce = "True"
bUpdateProfile = "False"
Set objNetwork = CreateObject("WScript.Network") 
objNetwork.AddWindowsPrinterConnection strUNCPrinter, bForce, bUpdateProfile
Wscript.Quit
Guardo el script a disco y lo ejecuto con un winexec:

Código Delphi [-]
WinExecAndWait32('cmd /ccscript ' + RutaScript);
DeleteFile(PAnsiChar(RutaScript));


Para eliminarla, el script es prácticamente igual, solo cambiando la linea en la que se añade la impresora (AddWindowsPrinterConnection) por:

Código:
objNetwork.RemovePrinterConnection strUNCPrinter, bForce, bUpdateProfile
El caso es que funciona. Espero que los de sistemas no me lo tiren para atrás...

De todas formas, muchas gracias por todo.

Saludos.


PD: Tenemos que hacer un grupo en Linked In del ClubDelphi...
__________________
ash nazg durbatulûk
ash nazg gimbatul
ash nazg thrakatulûk
agh burzum-ishi krimpatul
Responder Con Cita