반응형

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

매번 반복되는 일들을 자동화하여 편리하게 처리할 수 있는 방법을 찾아보자. 이번에는 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 환경설정을 자동으로 눌러서 이벤트를 처리하는 매크로를 만들어 보는 시간을 가져봤습니다. 하하하...

반응형
반응형

ChatGPT은 요즘 많이 사용되고 있어, 다양한 분야에서 쉽게 찾아볼 수 있게 되었습니다.
일상에서 문제를 해결하거나 새롭게 맨땅에서부터 작업을 시작할 때, 과거에는 선배나 검색으로 어렵게 찾아야 했지만, 요즘은 그런 상황에서 쉽게 정보를 전달할 수 있어 매우 유용하게 활용 됩니다. 특히 필자의 경우에는 비교적 단순한 스크립트 개
발에 많이 활용하고 있어 오늘은 이 부분에 대해 소개를 해 볼까 합니다.

요구사항 정리하기

필요한 기능에 대한 요구사항은 논리적으로 하나하나 A-Z 설명해 줘야 합니다. 이때 개발자적인 사고가 필요할 수 있습니다. 화면의 순서와 왜 그걸 하는지 설명을 까다롭게 해야하거든요. 정석이라는게 없겠지만, 적어도 무엇을 할것이고, 어떠한 과정에 의해서 할 것이다를 정의하면 내용에 맞게 맞들어 줍니다.  S/W개발 과정에서는 요구사항 분석 단계에 속하는 과정이라고 볼 수 있겠죠. 자, 그럼 예제문을 해보도록 하죠.

예제문은 가급적 육하원칙에 준해서 작성하는 것을 추천드립니다. 인공지능이니 알아서 스~마트 하게하라는건 '내 마음을 알아줘'랑 같은 말이니까요.

 

ChatGPT에 요청하기

바탕화면에 있는 파일을 정리하고 싶어 다음의 기능을 실행하는 배치 파일을 만들어줘
- 배치 파일은 .bat 파일로 만들어줘.
- "이 기능은 바탕화면에서 바로가기를 제외한 모든 파일을 정리합니다. 실행할까요? 계속(Y)/취소(N)" 메시지를 보여주고 입력을 받아. Y를 선택하면 계속 진행하고, N을 선택하면 종료
- 바탕화면에서 바로가기만 빼고, 파 및 폴더를 최종적으로 수정된 날짜로 YYYY-MM-DD 폴더를 만들어서 넣어줘.
- 진행 과정을 화면에 보여줘.

 

응답확인

응답된 결과코드 사용에는 주의가 필요 합니다. 특히 파일 작업에는요. 테스트를 해보고 실행하는 것이 좋겠죠?

 

코드 검토

만약의 사태를 방지하기위해, 만들어진 코드에 대해 AI에게 분석다시 묻습니다. (어떤일이 일어날지 나는 모르니까요..;;;)

코드 수정

코드에서 잘못된 부분을 확인하고, 수정할 것을 지시합니다.

 

배치파일 저장 및 실행

오른쪽 상단의 Copy code 버튼을 누르고 메모장에 복사해서 바탕화면정리.bat 파일로 저장한뒤 실행해주면 됩니다.

저장할때 반드시 ANSI 방식으로 저장하시는거 잊지 마세요.

실행

 

자, 오늘은 가볍게 인공지능을 활용해 바탕화면을 정리하는 부분을 배치 스크립트로 만들어 보았습니다. 
어때요 참 쉽죠? 이상 오늘의 소소한 팁 이였습니다.

반응형

+ Recent posts