4 - [오토핫키] IfMsgBox

    IF는 만약 ~하다면 이라는 뜻을 지닌 단어로 If명령어는 추후에 따로 설명 하기로 하며 여기서는 MsgBox와 관련하여 메시지 박스의 버튼을 누른 후 동작에 대해 설명하려고 합니다.

     

    문법

    IfMsgBox, ButtonName

     

    설명

    ButtonName

    사용자가 누른 버튼입니다.

    Yes

    No

    OK

    Cancel

    Abort

    Ignore

    Retry

    Continue

    Try Again

    Timeout

     

     

    예제

    예제1)

    MsgBox, 1, ,어떤걸 누를래?

    IfMsgBox, OK

    MsgBox, 확인을 눌렀구나?

    IfMsgBox, Cancel

    MsgBox, 취소를 눌렀구나?

    Return

    예제2)

    MsgBox, 18, , 경고!!, 5

    IfMsgBox, Abort

    MsgBox, 중단 합니다.

    IfMsgBox, Retry

    MsgBox, 다시시도 합니다.

    IfMsgBox, Ignore

    MsgBox, 무시가 안됩니다.

    IfMsgBox, Timeout

    {

      MsgBox, 왜 아무것도 안누르세요?

      MsgBox, 다음엔 꼭 눌러주세요.

    }

    Return

     

    If는 ~했을경우에만 실행이 됩니다. 앞서 오토핫키는 위에서 아래로 읽어간다고 했지만 If의 조건에 만족하지 않으면 읽지 않고 넘어갑니다. 따라서 예제1의 을 해석하면 MsgBox를 옵션1(확인과 취소)로 제목 없이 실행하며 사용자가 버튼을 누르기를 기다립니다. IfMsgBox, OK 만약 확인을 누른다면 MsgBox, 확인을 눌렀구나? 를 실행하고 IfMsgBox, Cancel은 조건에 맞지 않으므로 MsgBox, 취소를 눌렀구나? 는 실행하지 않고 바로 Return으로 넘어가서 스크립트를 마칩니다.

    예제2는 조금더 깊이 다뤄봅니다. MsgBox를 옵션18(중단, 다시시도, 무시 및 에러 아이콘)이며 5초후 자동으로 닫힙니다. 여기서 옵션18이 이해가 가지 않죠? 이는 옵션2와 옵션16이 함께 사용되었다는 뜻입니다. 옵션2는 버튼을 나타내므로 앞에서 설명을 했고 옵션16은 에러아이콘을 나타냅니다. 이처럼 두가지 이상의 옵션을 사용하려면 옵션값을 서로 더해주면 됩니다. 잘 사용하지 않으니 그냥 이런게 있구나 하고 넘어가도 괜찮아요. 예제1과 마찬가지로 사용자가 누를 버튼을 기다리며 버튼을 눌렀을때 해당 메시지를 띄워줍니다. 만약 5초동안 아무 버튼도 누르지 않았다면 IfMsgBox, Timeout이 실행되어 MsgBox, 왜 아무것도 안누르세요? 와 MsgBox, 다음엔 꼭 눌러주세요. 라는 두가지 메시지가 순차적으로 실행 됩니다. 이렇게 두가지 이상의 명령어는 ( { } )중괄호로 묶어줍니다.

     

     

     

     

     

     

    Posted by 옹봉이