본문 바로가기
업무 자동화 매크로

패킹 매크로 감지 우회 안전한 매크로 프로그램

by 오토픽 2024. 8. 28.
반응형

안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.

핸들 삭제를 알아보기 위해서는 핸들 추가를 먼저 학습해야 하는데요.

아래 내용을 가벼운 마음으로 한번 읽어보시고, 이 내용을 보시면 좋겠습니다.

[ 핸들 추가 도움말 보기 ]

 

테스트를 위해 녹스 앱플레이어를 4개 실행해두었습니다.

그리고, 아래와 같이 액션들을 추가했습니다.

 

 

 

비활성 장치 설정은 멀타 다클라 환경에서 좌표를 계산하기 위한 기준이 되는 프로그램을 선택해야 합니다.

윈도우 화면 기준 가장 왼쪽 위에 있는 녹스를 선택했습니다.

 

 

 

핸들 추가 액션에서 프로그램 선택으로 첫번째 녹스를 선택하고, 추가 옵션을 AddSelectAll로 변경하세요.

이렇게하면 동일한 프로그램을 모두 추가할 수 있습니다. 하지만, 컨트롤 내용이 달라서 못찾을수도 있으니 다이나믹하게 찾도록 해줘야 합니다.

핸들 찾기 옵션을 Custom으로 변경하세요.

 

 

 

핸들 찾기 옵션을 커스텀으로 하면 커스텀 속성에 보이는 것처럼 각각의 녹스가 프로그램 이름과 컨트롤 텍스가 다르다는걸 알 수 있습니다.

그렇기 때문에 첫번째 선택한 프로그램의 핸들은 찾을 수 있지만, 두번째 부터는 찾지 못하는 문제가 발생합니다.

 

 

 

그래서, 공통적으로 사용할 수 있는 방법을 찾아야 하는데요. 아래 그림처럼 매인에서부터 마우스와 키보드 입력을 받을 컨트롤까지의 구조는 동일합니다.

 

 

 

커스텀 설정을 아래 그림과 같이 변경하세요. Nox로 시작하는 모든 프로그램들의 핸들을 찾아서 추가할 수 있습니다.

 

 

 

마우스 클릭 액션 2개는 모두 PostMessage를 사용해서 녹스 Tools 아이콘을 클릭하도록 좌표를 설정하세요.

 

 

 

핸들 삭제 액션을 선택하고, 프로그램 선택 속성에서 녹스 두번째를 선택하세요.

 

 

 

생각을 해보니 첫번째 마우스 클릭에서 다시 초기화해야 핸들을 삭제한 후 클릭에 대한 내용을 확인할 수 있을것 같습니다.

마우스 클릭을 하나 더 추가하고, 녹스의 빈 공간으로 좌표를 설정하세요.

 

 

 

한가지 설정을 누락했는데요. 핸들 삭제 액션에서 SelectOne로 삭제 옵션을 변경 해주세요.

기본 값이 Clear라서 모두 삭제되기 때문에 이 옵션을 변경해야 두번쩌 녹스만 클릭 없이 지나가게 됩니다.

 

 

 

매크로를 실행하면 아래와 같이 두번째 녹스의 Tools가 처음엔 클릭되었다가 두번째에는 건너뛰는걸 확인할 수 있습니다.

 

 

 

멀티 다클라 비활성 매크로는 처음 제작할 때 기준이 되는 프로그램을 잘 설정해야 합니다.

기준이 없으면 다른 프로그램에 마우스, 키보드 및 이미지 서치의 좌표가 전이되지 않는 문제가 발생합니다.

그래서 항상 첫번째 프로그램을 윈도우의 좌상단에 고정시키고, 매크로를 작성하시는게 좋습니다.

그렇지 않으면 문제가 발생했을 때 어디에서 좌표가 틀어졌는지 찾기가 매우 힘들어집니다.

사실상 거의 불가능하기 때문에 좌표계는 타이트하게 관리하고 고정 위치를 사용하는게 좋습니다.

이 내용과 관련해서 자세한 내용을 알고 싶다면 아래 동영상을 참고해주세요.

감사합니다.

 

https://youtu.be/2rQphQHQit8

 

반응형