작업 스케줄러에서 exe를 실행할 때 콘솔 화면을 표시하지 않는 두 가지 솔루션
해결하려는 문제
Windows 서비스를 만들고 그 exe를 작업 스케줄러에 등록하고 정기적으로 움직이고 싶다.
그러나 매번 콘솔 화면이 나온다. 어떻게 하자….
솔루션 1
①exe를 실행하는 bat를 만들어,
②bat를 움직이는 vbs를 만들어,
③ 그 vbs를 태스크 스케줄러에 등록한다.
C:\hoge.exe
C:\hoge.bat
C:\hoge.vbs
hoge.bat
@echo off
call "C:\hoge.exe"
hoge.vbs
Dim oShell
Set oShell = WScript.CreateObject("WSCript.shell")
oShell.run """"+"C:\hoge.bat"+"""",0
Set oShell = Nothing
※hoge.vbs의 3행째
oShell.run """"+"C:\hoge.bat"+"""",0
미타쿠 더블 쿼테이션으로 둘러싸고 있는 이유는, 개발시의 Path에 【 C:\Users\hoge\Documents\Visual Studio 2015\
】미타쿠 공백이 들어가 있었기 때문에.해결책 2(상황이 제한됨)
작업 스케줄러 등록 시 보안 옵션으로,
"사용자가 로그온했는지 여부에 관계없이 실행(W)"을 선택합니다.
여기에 체크를 넣으면 런타임시 콘솔이 나오지 않게 된다.
로그온 한 사용자와 작업을 실행할 때 사용하는 사용자를 변경할 수 있습니다.
후기
테스트 환경에서는 해결책 1인 프로그램을 움직이고 있었지만, 그 프로그램을 넣는 곳은 반드시
”ユーザーがログオンしているかどうかにかかわらず実行する(W)”にチェックを入れる。
가 되었기 때문에, 결국 bat와 vbs가 필요 없게 되었다.그 밖에 콘솔을 내지 않는 방법이 있으면 교수 바랍니다.
Reference
이 문제에 관하여(작업 스케줄러에서 exe를 실행할 때 콘솔 화면을 표시하지 않는 두 가지 솔루션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hikichi_shoto/items/f54fb1ef166e10ee5347텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)