locked
cancelar impresiones RRS feed

  • Pregunta

  • Buenas tardes

    Como puedo cancelar las impresiones que estan en cola desde codigo vb o c#

    gracias de antemano


    julio_1126

    viernes, 10 de febrero de 2012 15:01

Respuestas

Todas las respuestas

  • hola

    te animas a usar WMI

    podrias tomar la idea de aqui

    WMI Pause, Resume & Cancel Printing in VB6

    pero implementalo como cometa aqui

    Uso de WMI desde Vb.NET

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 10 de febrero de 2012 15:48
  • hola, La pagina para ver la respuesta es de pago :( , es para aplicaciones de escritorio

    julio_1126

    viernes, 10 de febrero de 2012 16:16
  • cual es de pago ?

    que sea de escritorio o no es indistinto WMI es una libreria de .net que puedes usarla en cualquier contexto

    siempre y cuando tengas acceso al equipo donde consultas


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 10 de febrero de 2012 16:28
  • Hola

    Perdon es de pago la pagina para acceder a la respuesta

    saludos


    julio_1126

    viernes, 10 de febrero de 2012 16:38
  • que loco si el link lo buscas en google y accedes or medio de este puedes ver la respuesta, si lo accedes directo no deja

    te pego lo comentado alli como respuesta

    If you now how to write VBscripts, here's a few code snippets that will help you with Printers:
    http://www.activxperts.com/activmonitor/windowsmanagement/adminscripts/printing/servers/#PausePrintJobs.htm
    
    
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colPrintJobs =  objWMIService.ExecQuery _
        ("Select * from Win32_PrintJob")
    For Each objPrintJob in colPrintJobs 
        objPrintJob.Pause    'Pauses All jobs in the collection
        objPrintJob.Resume    'Resumes all jobs in the collection
    Next
    
                                                  


    Or something like this?
    
    strComputer = "."	replace . with dns name or IP of print server or leave if script is running on the print server
    
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colPrintJobs =  objWMIService.ExecQuery _
        ("Select * from Win32_PrintJob")
    
    For Each objPrintJob in colPrintJobs 
    
    	objPrintJob.pause
    
    	If checkSomething(test) = True Then
     		objPrintJob.Resume 
    	Else
    		objPrintJob.Cancel
    	End if
    Next
    
    Function checkSomething(ByVal test)
    'check something
    If test.something = someValue Then
    	checkPrintJob = True
    Else
    	checkPrintJob = False
    End Function
    
    Set objWMIService = Nothing
    Set colPrintJobs = Nothing 
    Wscript.Quit
    
                                                  

    igualmente recuerda que esto seria una guia, para llevar la idea a codigo vb.net con el segundo link

    la finalidad es ver como se realiza la query de WMI para trabajar con las impresora

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 10 de febrero de 2012 16:56
  • GRacias por la respuesta rapida, pero tengo un inconveniente, cuando lo pruebo en una amquina local me resulta bien, pero cuando lo pruebo con una maquina en red me devuelve un error "No se puede crear el componente activeX", ambas maquinas son XP

    julio_1126

    viernes, 10 de febrero de 2012 19:12
  • Hola, tienes idea como puedo obtener el numero de paginas y el nombre del archivo que se han mandado a la impresora?, mi intención es ir guardando en un registro para llevar un control sobre las impresiones que se realizan. Desde ya agradeceré tu ayuda. Saludos

    .Net, VB6, Java Professional Programer. Windows server 2008 Admin & Security Chief

    viernes, 10 de mayo de 2013 12:30