El usuario de la tarea programada no inició sesión, cómo cambiar al modo interactivo una vez que el usuario inicia sesión

Tengo una tarea programada que ejecuta una aplicación; digamos notepad.exe. Si la tarea "se ejecuta solo cuando un usuario ha iniciado sesión", puedo ver el bloc de notas, pero si la tarea "se ejecuta tanto si el usuario ha iniciado sesión como si no", el bloc de notas no se ejecuta en modo interactivo. E incluso si estoy conectado y ejecuto la tarea en este modo, no puedo ver la ventana del bloc de notas o el proceso hasta que seleccione "mostrar todo" en el administrador de tareas. El problema es cuando el bloc de notas tiene un error, al iniciar sesión, no puedo ver ese error, por lo que no hay forma de saber cuál es el error o qué estaba haciendo el bloc de notas cuando recibió el error. Parece que la tarea no puede ejecutarse en modo interactivo ya que no hay un usuario conectado en el momento en que se inicia. Entonces mi pregunta es: ¿hay alguna forma de cambiar el bloc de notas al modo interactivo una vez que el usuario inicia sesión?

Mirando una solución programática, ¿hay alguna forma de usar shell32 o user32 para cambiar una aplicación al modo interactivo en tiempo de ejecución?

Además, obviamente mi problema no es con el bloc de notas... solo una prueba de concepto.

preguntado el 12 de abril de 13 a las 19:04

1 Respuestas

No sé mucho acerca de las tareas programadas, pero si se comportan como un servicio, tendrá dificultades para acceder a estas ventanas. En un servicio, cuando habilita un servicio para interactuar con el Escritorio, si desea ver las ventanas que abre el servicio, debe darle una cuenta de usuario, y solo podrá ver las ventanas si vuelva a iniciar sesión en esa cuenta, y solo cuando se abra una nueva ventana; cuando se abre una nueva ventana, recibe una notificación en el escritorio (si mi memoria no me falla está en la parte superior del escritorio) que debe hacer clic para ver la aplicación abierta.

Si puede modificar la aplicación de la tarea programada, le recomiendo que la haga sin interfaz gráfica de usuario y que informe los errores al Visor de eventos o a un archivo de registro. Si no puede modificar la aplicación de la tarea programada, puede intentar empaquetarla como un servicio, de modo que reciba las notificaciones cuando se abra una nueva ventana.

Respondido 12 Abr '13, 20:04

Mis tareas tienen que ver con la automatización de la entrada del usuario en otras aplicaciones, por lo que necesito ver dónde se detuvo la automatización en cuanto a completar un formulario, digamos, no solo ventanas modales de error. Se convierte en un problema cuando la PC (en un dominio) recibe actualizaciones automáticas que reinician la máquina. - DrPopTart

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.