kill proces jako alternatywa dla ALT+F4

0

Cześć,

automatyzuję sobie pewien proces i jednym z jego elementów jest drukowanie z pewnej aplikacji. Aplikacja ta jednak sprawia mi dużo problemów przy próbie zamknięcia jej, a to system gubi focus na niej, a to jakiś komunikat wyskoczy przy próbie zamknięcia i co chwilę coś mnie zaskakuje, a automatyzacja staje w miejscu, bo nie przewidziałem kolejnego problemu. I tak, wiem, że najlepiej obsłużyć każdy możliwy problem i zamknąć aplikację po bożemu, ale w sumie zawsze działa ubicie procesu, tutaj nic mnie nie może zaskoczyć w samej aplikacji.
Czy są jakieś przesłanki, żeby z tego nie korzystać? Czy może może mnie coś zaskoczyć w samym systemie operacyjnym (Windows 10)?
Generalnie ten element automatyzacji wygląda tak, że otwiera się plik PDF, następnie wysyłany jest skrót Ctrl+P i drukowany dokument. Po wydrukowaniu robię killa i idę z procesem dalej. Takich wydruków jest robionych kilkaset w ciągu dnia. Proszę, dajcie znać, czy coś się może złego stać?

Pozdrawiam

1

Jezeli dziala Ci z killem, to killuj. (jezeli chodzi o druk pdf)
Raczej nie powinno byc problemow (zapewne mocno zalezy od tego co robisz i na czym robisz)

tutaj troszke wiecej
https://social.msdn.microsoft.com/Forums/vstudio/en-US/cad7bf29-8c4f-4711-8c57-5439dcab839f/is-it-safe-to-use-kill-process-in-c-net?forum=csharpgeneral

1

Tak z ciekawości czemu nie skorzystasz z api które daje adobe reader albo foxit reader i nie wywołasz ich z konsoli ?

AcroRd32.exe /t <file.pdf> <printer_name> <printer_driver> <printer_port>

Foxit reader ma podobne api.

0

Niestety środowisko, w którym działam, nie ma bezpośredniej możliwości wykonywania poleceń konsoli. A uruchomienie dodatkowego okna konsoli, obsłużenie go, focusowanie się, powrót, albo zamykanie to kolejne potencjalne problemy do obsłużenia.
Na razie działam na killu i wszystko śmiga, ale wolę dopytać, czy może ktoś ma jakiś mocny argument przeciw.

0

Robię tak w jednym projekcie i to "zasadniczo" działa. Możesz jeszcze upewnić się, że masz dobrze skonfigurowany WER (bo jak watson albo debugger wjadą na proces, to go nie ubijesz) i że nie używasz globalnych zasobów (mutexów, blokowania plików czy czegoś takiego), bo to jest trudno odratować po ubiciu procesu. Koncepcyjnie nie ma przeciwwskazań.

Edycja: jeszcze odnośnie tego "zasadniczo". Aplikacja może być źle napisana i przy wychodzeniu może na przykład zapisać dane dwukrotnie do pliku (miałem taki błąd w dotnecie), więc jakieś tam problemy mogą być, ale jeżeli robisz solidnego killa (rodzaju taskkill /F), to raczej to nie zajdzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1