전체검색 결과
키워드를 입력하시면 검색이 가능합니다.
안녕하세요. 엔지엠소프트웨어입니다. 매크로 프로그램에서 아무리 많은 기능을 제공한다 하더라도 윈도우의 기본 커멘드라인을 대체할 수 없습니다. 윈도우 커멘드라인과 윈도우 쉘을 사용하면 안되는게 없을정도로 막강한 기능들을 제공하고 있기 때문입니다. 또한, 배치파일을 이용해서 어느정도 단순한 매크로 프로세스를 만들수도 있어요. 구글 크롬이나 엣지처럼 커멘드라인 명령어를 제공하는 프로그램들은 배치파일과 같이 사용하면 막강한 성능을 낼 수도 있습니다. 커멘드라인이 막강한 기능을 가지고 있지만, 전통적인 검은 화면에 명령을 타이핑해서 입…
안녕하세요. 엔지엠소프트웨어입니다. 매크로 프로그램을 제어할 때 필요한 필수 기능인 일시 중지에 대해 알아볼건데요. 오늘 이 내용까지 만들면 모든 기능을 전부 구현하게 됩니다. 앞서 실행과 중지에 대해서 알아봤기 때문이죠. 아직 추가적으로 개발해야 할 내용들이 더 많이 남았지만, 매크로를 제작하면서 테스트해야 할 일들이 많은데요. 그동안 테스트를 실행하고 로그를 보는 정도로만 했었어요. 좀 더 복잡한 스크립트를 테스트하려면 중지와 일시 중지 기능이 꼭 필요합니다. 테스트 시간을 단축하기 위해서죠^^ 일단 이전 시간에 알아본 태…
안녕하세요. 엔지엠소프트웨어입니다. 이전 시간에 클라이언트(에디터, 플레이어)에서 실행중인 매크로를 중지하는 방법을 알아봤는데요. 오늘은 스크립트 중지 액션을 만들어 볼께요. 아마도, 다음 시간에는 실행중인 스크립트를 일시 중지하는걸 만들거 같네요. 일단 스크립트를 제어하는 모델들을 모두 추가해놓고, BaseModel에 스크립트를 선택할 수 있도록 해두었습니다. 여기까지는 1부 내용을 참고하시면 됩니다. 아래는 스크립트 중지 모델인데요. 추가적인 옵션들을 더 제공해야 할지 고민중입니다. 현재는 선택한 스크립트를 중지합니다. 만…
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 매크로 프로그램을 실행했다가 중지하는 기능을 만들어 볼께요. 기존 엔지엠 매크로 6에서는 각각의 스크립트를 플레이할 때 Thread를 사용했었어요. 스레드를 사용하다보니 여러가지 문제점들이 있었고, 이런 문제들을 해결하기 위해 코드를 계속 수정하다보니 전체적으로 성능이 저하되는 결과를 초래했습니다. 성능을 개선하고, Abnormal Error들을 처리하다보니 코드가 많이 지저분해졌어요. 더 큰 문제는 너무 많은 부분을 개발했기 때문에 스레드 처리 부분을 개선하기가 불가능했습니다. 새로…
안녕하세요. 엔지엠소프트웨어입니다. 잠시 쉬어가는 코너로 Krypton 콘트롤의 최근 문서(Recent Documents)를 저장하고, 불러오는 방법에 대해서 알아볼께요. 그동안 매크로 제작 클라이언트의 기능을 최소한으로만 유지하고, 액션을 제작하는데 시간을 할애하고 있었습니다. 어느정도 기본 기능이 만들어지다보니 테스트를 위해 열고 닫기를 반복하는 상황이 점점 많아지고 있습니다. 파일 메뉴를 클릭하고, 스크립트 열기에서 파일을 찾아서 열기 버튼까지 많은 단계를 거쳐야 해서 상단히 귀찮더라고요. 그래서, 한번 열었던 스크립트를 최근…
안녕하세요. 엔지엠소프트웨어입니다. 매크로의 기본 기능인 마우스와 키보드 관련해서 모두 개발이 끝났습니다. 글을 쓰면서 이래저래 수정하다보니 코드가 많이 바뀌긴 했지만, 큰 줄기만 보면 누구나 쉽게 매크로 프로그램을 제작할 수 있을겁니다. 어느정도 코딩을 읽을줄 아신다면 말이죠^^; 아무튼, 매크로에서 멀티 다클라 작업을 할 때 크게 2가지 방식이 있습니다. 각각의 프로그램에 대응하는 스크립트를 하나씩 만드는것과 기준이 되는 프로그램에 스크립트를 만들어서 복사하는겁니다. 단순히 기준이 되는 프로그램에서 100, 100 좌표를 …
안녕하세요. 엔지엠소프트웨어입니다. 앞서 키보드 쓰기 액션을 만들어서 사용해봤는데요. 오늘은 키보드의 나머지 기능들을 모두 만들어보고, 테스트까지 해보겠습니다. 키보드 쓰기 액션으로는 복사(Control+C), 붙여넣기(Control+V)와 같은 동작을 수행할 수 없습니다. 따라서, 키보드 다운과 업 액션이 필요한데요. 사람이 이 동작을 수행한다고 하면 아래와 같이 스크립트를 만들어야 합니다. 사람이 하는 동작과 동일하죠? 메모장을 2개 켜놓고복사, 붙여넣기를 해볼까요? 첫번째 메모장에서 전체 선택 후 복사…
안녕하세요. 엔지엠소프트웨어입니다. 마우스 관련 액션은 이 글이 마지막이 될듯 하네요. 마우스 관련 기능은 마우스 더블 클릭과 휠 조작만 남았는데요. 크게 어려운 부분이 없어서 2개를 묶어서 같이 설명하면 좋을듯 합니다. 우선, 마우스 더블 클릭에 대해서 알아볼께요. 마우스 더블 클릭은 마우스 클릭을 2번 하는것과 같습니다. 그렇기 때문에 아래와 같이 마우스 클릭 액션을 상속 받아서 2회 실행해주면 됩니다. namespace Ai.Model.Action.Mouse { [Serializable] public clas…
안녕하세요. 엔지엠소프트웨어입니다. 이전 시간에 마우스 클릭과 드래그 기능까지 개발했는데요. 마우스 드래그는 마우스 다운과 업으로 어느정도 커버가 가능합니다. 하지만, 대부분의 프로그램들이 마우스 다운과 업으로 드래그를 구현하기는 쉽지 않습니다. 그래서, 별도로 마우스 드래그 액션을 만들고 프로그램에서 동작하는지 테스트 해보도록 할께요. 아직 이전 시간에 알아본 내용을 읽어보지 않았다면 먼저 읽어보고 오세요^^ 마우스 드래그 액션은 아래와 같이 시작 좌표와 끝 좌표가 있어야 합니다. public class DragM…
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 마우스 클릭 드래그에 대해서 알아볼건데요. 이미 마우스 클릭은 개발했기 때문에 이전 글을 참고하시면 될거 같아요. 우선, 마우스 드래그는 이동시키고 싶은 어떤 물체에서 마우스를 누르고, 이동할 위치까지 마우스를 움직인 후 버튼을 때면 됩니다. 사람이 이 동작을 할 때는 무의식중에 무심코 동작을 하겠지만, 컴퓨터에게는 하나씩 설명해줘야 해요. 그래서, 비전문가나 일반인 또는 어린아이에게 순서대로 설명을 잘 하는 사람이 프로그래밍이나 매크로 제작도 잘 합니다. 너무 당연한 이야기인가요? …