전체검색 결과
키워드를 입력하시면 검색이 가능합니다.
안녕하세요. 엔지엠소프트웨어입니다. 이번에 알아볼 내용은이미지 캡쳐 컨트롤과 돋보기 컨트롤입니다. 사실 매크로 프로그램에서 이 기능은 크게 필요하진 않습니다. 다양한 캡쳐 프로그램들이 존재하고, 돋보기 기능뿐만 아니라 편집 기능도 다수 보유하고 있으니까요. 그렇더라도 기본적인 캡쳐 기능을 제공해야 하고, 이미지 편집기에서는 이미지 마스크나 투명 처리 또는 이미지 흑백과 같은 필터를 어느정도 제공해야 합니다. 단순한 이미지만 비교할건 아니니까요^^ 이미지 필터 처리에 대해서 업무 자동화 매크로 프로그램이 제공하지 않으면 여러가지…
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 매크로를 제작할 때 동작을 분석하거나 에러 내용을 확인하기 위한 출력창을 만들어 보겠습니다. 우선, 출력창을 만들 때 미리 고민해야 할것들이 있는데요. 출력창은 여러개의 매크로 스크립트가 동시에 실행되더라도 스레드에 안전하게 메세지를 표시할 수 있어야 합니다. 그리고, 동시에 실행되는 멀티 스레딩 환경에서 지연 없이 화면에 출력해야 합니다. 만약, 출력창이 동기화되어 있다면 어떤일이 발생할까요? 예를 들어서 동시에 10개의 매크로 스크립트가 실행중이라고 생각 해봅니다. 이 때 1번 스…
안녕하세요. 엔지엠소프트웨어입니다. 업무 자동화 매크로 프로그램은 사용자가 작성한 스크립트 또는 프로세스를 기록한 파일이 필요합니다. 1회성으로 끝나는 작업이 아니다보니 연속성을 가져야 합니다. 그리고, 매크로 스크립트뿐만 아니라 옵션, 콘피그, 단축키, 클라이언트 상태등등... 파일로 저장해야 할 것들이 많습니다. 지금까지 스크립트와 옵션을 만들었는데요. 이 둘은 모두 내용을 수정할 수 있고, 저장하고 불러와야 합니다. 스크립트와 옵션은 서로 다른 내용을 가지지만, 프로그램 입장에서 보면 동일한 기능을 많이 공유하고 있습니다…
안녕하세요. 엔지엠소프트웨어입니다. 윈도우 10부터 고해상도 모니터에 대응하기 위해 배율 및 레이아웃이라는 옵션이 생겼습니다. 배율 및 레이아웃이 100%인 상태에서 이미지를 캡쳐하고, 이미지 서치나 이미지 매치를 실행하면 잘 동작합니다. 하지만, 모니터를 변경하거나 다른 컴퓨터에서 실행할 때 이상하게 잘 동작하지 않는 경우가 있습니다. 이런 경우에는 거의 대부분 매크로를 제작할 당시의 배율과 현재 컴퓨터의 배율이 다르기 때문입니다. 배율 때문에 이미지 크기가 달라지는 문제 때문에 항상 배율을 맞춰서 사용해야 했습니다.…
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 이미지 서치에 대해 알아보도록 하겠습니다. 우선 테스트용도로 단순하게 만들건데요. 일반적으로 이미지 서치는 OpenCV를 이용해서 만듭니다. 엔지엠 매크로는 이미지 서치와 이미지 매치로 구분되어 있습니다. 이미지 서치는 픽셀 데이타를 분석해서 비교하는 방식이고, 이미지 매치는 OpenCV의MatchTemplate을 사용합니다. 우선, 이미지 매치 액션을 하나 만들께요. Condition(조건) 폴더에 BaseModel, ImageModel, ImageMatchModel 3개를 추가 했…
안녕하세요. 엔지엠소프트웨어입니다. 매크로 프로그램을 만들면서 가장 중요한 요소가 뭘까요? 많은 기능들이 떠오를텐데요. 가장 기본이 되는 마우스 입력과 키보드 입력일겁니다. 이와 더불어서 이미지 서치까지 포함하면 업무 자동화 매크로 프로그램을 거의 완성했다고 볼 수 있습니다. 다양한 함수들을 제공함으로써 편의성을 개선해야겠지만요. 아무튼, 이번 시간에는 앞서 만든 GUI 프로그램에 마우스와 키보드를 추가하고, 동작하는것까지 테스트 해볼께요. 아래와 같이 마우스와 키보드 액션을 추가 했습니다. Action 안에 키보…
안녕하세요. 엔지엠소프트웨어입니다. 앞서 매크로 프로그램의 기본적인 내용들을 만들었는데요. 이번에는 만든 스크립트를 저장하고, 다시 불러올 수 있는 기능들을 만들어 보도록 하겠습니다. 스크립트 뷰에서 Save 메소드를 먼저 구현해줄께요. 스크립트 인터페이스에 Save 메소드를 하나 추가 해줍니다. 스크립트가 기본적으로 수행해야 할 동작들을 인터페이스로 미리 정의 해두었습니다. 구현은 이제 하나씩 해야겠죠? namespace Ai.Interface { public interface IScriptView { …
안녕하세요. 엔지엠소프트웨어입니다. 매크로 프로그램의 기본 기능중에 마지막인 속성창 만들기를 해보도록 하겠습니다. 여기까지 완료하면 매크로 프로그램의 큰 기능은 모두 완성됩니다. 이후부터는 완성된 뼈대에 하나씩 살을 붙여나가면 됩니다. 아직 해야할 일들이 많이 남아있지만, 기본 골격이 완성되면 그 다음부터는 속도가 빠르게 진행될거예요. 원래 집을 지을때도 설계와 기초 공사가 오래 걸리는 법이니까요. 프로그래밍도 집을 짓는것과 비슷하기 때문에 처음 설계와 기초가 튼튼해야합니다. 속성창의 디자인은 간단합니다. 닷넷에서 제공해주는 …
안녕하세요. 엔지엠소프트웨어입니다. 이제~ 대망의 스크립트 만들기를 진행하게 되었군요. 지금까지는 매크로 프로그램을 만들기 위한 디자인과 설계에 중점을 두었다면 오늘 알아볼 스크립트 만들기는 도구상자에서 액션을 스크립트에 추가한 후 실행할 수 있도록 할겁니다. 여기까지 만들면 앞으로는 액션을 하나씩 추가하면서 기능을 확장하기만 하면 됩니다. 물론, 각각의 액션마다 기능을 만드는것도 쉬운건 아닙니다. 하지만, 사용자에게 제공할 에디터의 기본 기능은 모두 만들었다고 볼 수 있습니다. 아직 추가해야 할 기능들이 더 많이 남아있기는 하지만…
안녕하세요. 엔지엠소프트웨어입니다. 이전 시간에 메뉴를 만들었는데요. 메뉴에서 새 스크립트를 만들고, 스크립트에 마우스 클릭 액션을 추가하는 방법을 알아볼께요. 우선, 도구 상자를 먼저 구성해야 하는데요. 디자인은 기존과 동일하게 만들었습니다. nuget에서 쓸만한 컨트롤이 있을까하고 찾아봤는데... 적당한게 없네요. 도구상자, 함수상자, 외부 API등등... 대부분의 툴박스는 동일한 형태와 기능을 가집니다. 툴박스에 담는 공구만 다를뿐입니다. 그래서, 엔지엠 6에서 각각 만들어서 사용하던 것을 엔지엠 7에서는 통합했습니다. …