que estoy tratando de hacer un método en C# que desemboca todos los elementos de una cola de impresión. A continuación se muestra el código:Acceso denegado intentando purgar PrintQueue en C#
LocalPrintServer localPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministratePrinter);
PrintQueue printQueue = localPrintServer.GetPrintQueue(printerName);
if (printQueue.NumberOfJobs > 0)
{
printQueue.Purge();
}
Cuando se ejecuta este código, en el constructor localPrintServer, la aplicación lanza este error: "producido una excepción al crear el objeto servidor de impresión de error Win32: Acceso denegado."
Ese constructor tiene unos sobrecargas (incluyendo el envío de ningún parámetro). Probando cualquiera de esos, supero esa línea, pero cuando llego a la llamada printQueue.Purge(), obtengo el mismo mensaje de acceso denegado que se menciona arriba.
Buscando sugerencias de cómo/qué puedo hacer para evitar esto. Puedo eliminar manualmente los trabajos de impresión de mi computadora. No estoy seguro si la aplicación se ejecuta con el mismo acceso que tengo ni cómo verificarlo.
¿Ha intentado ejecutar su proceso/visual studio como administrador? – faester
Configuré EXE para que Visual Studio se ejecute siempre como administrador, reinicié Visual Studio 2010 y lo intenté de nuevo. Aún obteniendo los mismos errores de acceso denegado. – Kris
Intente hacer clic derecho en el archivo .exe ouptput (YourProgramName.exe) y seleccione ejecutar como administrador. – mellamokb