저는 회사에서 원격 데스크톱 클라이언트를 매우 자주 이용합니다. 그리고 보통은 동시에 여러개의 창을 띄워놓고 작업하는 경우가 많습니다. 그런데 매번 창을 닫을 때마다 이놈의 종료 확인 창이 떠서 저를 매우 성가시게 합니다. 한두개 띄워놓고 작업하는 경우에는 그럭저럭 참을 만한데, 터미널을 한 20개 정도 띄워놓은 상태라면 일괄 종료할 때 일일이 확인버튼 누르는 것도 보통 일이 아닙니다.

그래서 레지스트리도 뒤져보고 그룹정책편집기도 뒤져봤는데... 윈도우 자체적으로 이 창을 Disable 시키는 옵션은 아무리 찾아도 보이지 않더군요. 열심히 구글링 해봐도 불가능하다는 답변만 보였습니다.

결국 모든 귀차니즘의 종결자 AutoIt을 활용하기로 했습니다.

AutoIt 홈페이지
http://www.autoitscript.com/site/autoit/

저는 개발자가 아니라서 아래 코드가 효율적인지는 모르겠습니다만... 아무튼 이렇게 짜봤습니다.

While(ProcessExists("mstsc.exe"))
    If WinActive("터미널 서비스","세션 연결을 끊습니다.") Then Send("{enter}")
    If WinActive("원격 데스크톱","세션 연결을 끊습니다.") Then Send("{enter}")
WEnd

※ 추가
빈마음님 달아주신 댓글을 보고 코드를 수정했습니다. 조언 감사합니다.

While 1
    ProcessWait("mstsc.exe")
    If WinActive("터미널 서비스","세션 연결을 끊습니다.") Then ControlClick("터미널 서비스","확인","Button1")
    If WinActive("원격 데스크톱","세션 연결을 끊습니다.") Then ControlClick("원격 데스크톱","확인","Button1")
WEnd

위 수정된 코드를 그대로 컴파일한 파일 올려드립니다.


백그라운드로 실행시켜두어도 리소스를 거의 먹지 않습니다. 이게 실행중인 상태라면 원격 데스크톱 종료시 자동으로 확인 창에 대해서 클릭을 날려줍니다.

혹시 코드를 좀 더 효율적으로 바꿀 수 있다면 조언 부탁드립니다.