Eu tenho um processo daemon que executo na minha máquina a cada hora e, mesmo tendo marcado a Hidden
caixa, ele não funciona.
A cada hora, a tarefa é executada, mas mostra a janela de comando preta, na qual meu aplicativo .NET Console está sendo executado. Isso permanece visível até a tarefa ser concluída e depois desaparece. Isso é muito chato, porque aparece e interrompe o que estou fazendo:
Eu realmente quero escondê-lo, então como posso corrigir isso?
windows-7
task-scheduler
Joshua Frank
fonte
fonte
Respostas:
Marque a caixa de seleção "Executar se o usuário estiver conectado ou não" e o executável será executado em segundo plano.
fonte
Por que a tarefa agendada do Windows 7 está oculta? deve explicar por que isso acontece.
Além disso, esta descrição do TechNet de Propriedades gerais da tarefa indica:
Isso não implica que a caixa de seleção oculte apenas a tarefa da interface do usuário do agendador e não o programa real agendado?
fonte
Ok, depois de mais algumas pesquisas, encontrei esta resposta no StackOverflow:
Um comentário indica que isso concede direitos totais à tarefa, o que pode ser irritante, mas é aceitável neste caso.
Mas ainda assim, o que
Hidden
faz, se não faz isso? E por que a conta de usuário que está executando o programa tem alguma coisa a ver com se é visível?fonte
SYSTEM
conta não tem acesso aos arquivos criptografados EFS de outros usuários.A ÚLTIMA SOLUÇÃO
Se esses são os disjuntores para você, a solução definitiva é criar um arquivo de script JS como o abaixo, que executará seu comando na janela oculta, aguarde o final do comando e retorne o código de erro:
Salve como arquivo JS (myjob.js) e adicione ao seu agendador de tarefas: Aprecie
fonte
"Executar com o usuário conectado ou não" permitirá que a opção oculta funcione. Observe que você precisa fornecer suas credenciais depois de escolher isso.
fonte
Ambos :
impedirá a janela de comando preta, mas fique atento às desvantagens: você não poderá trabalhar com algumas ferramentas de automação da GUI, como 'AutoIt' ou SendKeys no PowerShell, pois o Windows inicia as tarefas em um ambiente de estilo sem cabeça.
fonte
Deixo as configurações padrão e escrevo pequenos programas personalizados que geram a execução sem que seja exibida uma janela. Por exemplo, para executar um arquivo em lotes sem exibir uma janela do prompt de comando, use o código abaixo. Defina a tarefa para gerar "RunBatchFile.exe (path_to_batch_file)".
fonte
ProcessWindowStyle.Hidden
parte especificamente, correto? Vejo algo sobre isso aqui: msdn.microsoft.com/en-us/library/…Eu estava tendo esse problema com tarefas agendadas do PowerShell (que estava implantando por meio do GPO). Acabei envolvendo-o em uma janela de comando:
fonte