Mam proces demona, który uruchamiam na mojej maszynie co godzinę, i chociaż zaznaczyłem to Hidden
pole, to nie działa.
Co godzinę zadanie jest uruchamiane, ale pokazuje czarne okno poleceń, w którym działa moja aplikacja konsoli .NET. Pozostaje widoczny, dopóki zadanie się nie zakończy, a następnie znika. Jest to bardzo denerwujące, ponieważ wyskakuje i przerywa wszystko, co robię:
Naprawdę chcę to ukryć, więc jak mogę to naprawić?
windows-7
task-scheduler
Joshua Frank
źródło
źródło
Odpowiedzi:
Zaznacz pole wyboru „Uruchom, czy użytkownik jest zalogowany czy nie”, a plik wykonywalny będzie działał w tle.
źródło
Dlaczego zaplanowane zadanie systemu Windows 7 działa ukryte? powinien wyjaśnić, dlaczego tak się dzieje.
Ponadto ten opis TechNet ogólnych właściwości zadania stwierdza:
Czy to nie oznacza, że pole wyboru ukrywa samo zadanie przed interfejsem użytkownika programu planującego, a nie rzeczywisty program, który jest zaplanowany?
źródło
Ok, po kilku dalszych badaniach znalazłem tę odpowiedź na StackOverflow:
Komentarz wskazuje, że daje to pełne prawa do zadania, co może być denerwujące, ale w tym przypadku jest dopuszczalne.
Ale nadal co robi
Hidden
, jeśli tego nie robi? I dlaczego konto użytkownika, na którym działa program, ma coś wspólnego z tym, czy jest widoczne?źródło
SYSTEM
konto nie ma dostępu do zaszyfrowanych plików EFS innych użytkowników.NAJLEPSZE ROZWIĄZANIE
Jeśli są to dla Ciebie przełamanie, ostatecznym rozwiązaniem jest utworzenie pliku skryptu JS, takiego jak poniższy, który uruchomi twoje polecenie w ukrytym oknie, zaczekaj na jego zakończenie i zwróć kod błędu:
Zapisz to jako plik js (myjob.js) i dodaj to do harmonogramu zadań: Ciesz się
źródło
„Uruchom bez względu na to, czy użytkownik jest zalogowany”, umożliwi działanie ukrytej opcji. Pamiętaj, że musisz wybrać swoje poświadczenia po wybraniu tego.
źródło
Obie :
zapobiegnie czarnemu oknu poleceń, ale pamiętaj o wadach: nie będziesz w stanie pracować z niektórymi narzędziami do automatyzacji GUI, takimi jak „AutoIt” lub SendKeys w PowerShell, ponieważ Windows uruchamia zadania w środowisku bezgłowym.
źródło
Opuszczam ustawienia domyślne i piszę krótkie programy niestandardowe, które spawnują wykonanie bez wyświetlania okna. Na przykład, aby uruchomić plik wsadowy bez wyskakującego okna wiersza polecenia, użyj poniższego kodu. Ustaw zadanie spawnowania „RunBatchFile.exe (ścieżka_do_pliku_batch)”.
źródło
ProcessWindowStyle.Hidden
części, prawda? Widzę coś o tym tutaj: msdn.microsoft.com/en-us/library/…Miałem ten problem z zaplanowanymi zadaniami PowerShell (które wdrażałem przez GPO). Skończyłem owijanie go w oknie poleceń:
źródło