[ChatGPT] V3 Lite 30일간 광고보지않기 매크로 만들기

자동화로 귀찮은 일들을 해결하자!

매번 반복되는 일들을 자동화하여 편리하게 처리할 수 있는 방법을 찾아보자. 이번에는 ChatGPT와 AutoHotkey를 활용하여 우리의 일상을 더 효율적으로 만들어 보겠습니다.

 

ChatGPT와 AutoHotkey를 이용한 자동화

ChatGPT를 활용하여 원하는 작업을 프로그래밍적으로 수행할 수 있습니다.
이번에는 AutoHotkey를 이용하여 실제로 컴퓨터에서 작업을 자동화하는 부분을 만들어 볼 계획입니다.

 

ChatGPT로 V3 Lite 30일 광고 보지않기 옵션 자동화 매크로 만들기

최근에는 V3 Lite의 광고 보지않기 옵션을 한 달에 한 번 누르는 것이 귀찮아졌습니다. 이를 자동화하여 효율적으로 처리하기 위해 ChatGPT에게 프로세스에 대한 정의를 통해 코드를 생성해 보도록 하겠습니다.

매크로 작성 요구사항 정리

1. C:\Program Files\AhnLab\V3Lite40\v3l4cfg.exe 실행
2. 윈도우 창 중 '환경 설정 - AhnLab V3 Lite' 윈도우를 찾아서 창에 포커스
3. 윈도우의 텍스트 중 '사용 환경설정'을 찾아서 클릭
4. 윈도우의 텍스트 중 '알림 설정'을 찾아서 클릭
5. 윈도우의 체크박스 중 '30일간 광고 보지 않기'항목을 찾아서 체크상태를 확인한 뒤에 체크박스 클릭

코드 검증 및 문제 분석, 조치
- 직접 V3의 환경설정 파일을 매크로에서 실행하니, AutoHotKey가 멈춘 상태가 됨(V3 탐지로 추정됨)
- V3의 환경설정 다이얼로그의 텍스트가 인식되지 않음. > 클릭해야하는 좌표로 입력되도록 수정 필요
- 클릭으로 이벤트를 처리하니, 각 실행 명령 간 약간의 딜레이가 필요함. > Sleep 0.5초 정도 
- V3 환경설정 실행파일이 없는 경우가 있을 수 있음. > 실행 안함 처리

 

최종 결과물 및 실행파일

마지막으로, 자동화된 매크로(스크립트)를 실행하여 최종 결과물을 정리하고, 스크립트를 실행해봅니다.
AutoHotKey를 설치하면 매크로가 자동으로 실행됩니다. 시작 프로그램이나, 작업스캐줄에 등록해두면 늘 반복했던걸 자동으로 주기적으로 실행 해 줄 수 있을 듯 합니다. (일단, 한달이 지나봐야...)

 

; AutoHotkey 스크립트 시작

; 작성 : ChatGPT 3.5
; 수정 : Modify by https://make1solve.tistory.com (locustk@gmail.com)
; 버전 : 0.1.1

; AhnLab V3Lite40 설정 파일 경로
v3lite_path := "C:\Program Files\AhnLab\V3Lite40\v3l4cfg.exe"

; 파일이 존재하는지 확인
if (FileExist(v3lite_path)) {
        
    ; 윈도우+R 키 입력
    Send, {LWin down}r{LWin up}

    ; 대화상자가 나타날 때까지 대기 (최대 5초)
    WinWaitActive, ahk_class #32770, , 5

    ; 경로 입력
    ControlSetText, "C:\Program Files\AhnLab\V3Lite40\v3l4cfg.exe"

    ; 엔터 키 입력
    Send, {Enter}

    WinWait, 환경 설정 - AhnLab V3 Lite

    ; 윈도우 포커스 (환경 설정 - AhnLab V3 Lite)
    WinActivate, 환경 설정 - AhnLab V3 Lite

    ; '사용 환경설정' 클릭 (예시 좌표)
    ControlClick, x66 y461, 환경 설정 - AhnLab V3 Lite

    Sleep, 500 ; 500 밀리초(0.5초) 동안 대기

    ; '알림 설정' 클릭 (예시 좌표)
    ControlClick, x410 y83, 환경 설정 - AhnLab V3 Lite

    Sleep, 500 ; 500 밀리초(0.5초) 동안 대기

    ; 픽셀 위치 및 색상 지정
    x := 272
    y := 359
    desiredColor := 0xFFFFFF

    ; 색상 확인
    PixelGetColor, color, %x%, %y%, RGB

    ; 색상이 일치하는 경우 클릭
    if (color = desiredColor) {
        ; 해당 위치 클릭
        MouseClick, left, %x%, %y%

        ; 확인 버튼 클릭 (예시: 좌표로 클릭)
        ; 확인 버튼의 좌표를 실제 확인 후 설정
        Sleep, 500 ; 잠깐 대기 (필요에 따라 조정)
        MouseClick, left, 300, 400 ; 예시 좌표
    }

    ; 또는 ControlClick을 사용하여 특정 창의 버튼 클릭
    ; 이 경우 확인 버튼의 Control ID를 사용

    Sleep, 500 ; 500 밀리초(0.5초) 동안 대기

    ; '확인버튼' 클릭 
    ControlClick, x686 y645, 환경 설정 - AhnLab V3 Lite

    exit
    ; AutoHotkey 스크립트 끝
}

exit

V3-lite_conf_macro-noshow_ad.zip
0.37MB

 

마치며

ChatGPT를 이용한 코딩이나 저작물들이 많아지고 있는게 체감되고 있는 요즘입니다. 한걸음 한걸음 디뎌본다는 생각으로 생활코딩을 해보는 입장인지라 간단히 V3 환경설정을 자동으로 눌러서 이벤트를 처리하는 매크로를 만들어 보는 시간을 가져봤습니다. 하하하...