유료 매크로 프로그램 다운로드
http://ngmsoftware.com/bbs/board.php?bo_table=product_review
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
#매크로 #메크로 #매크로프로그램 #엔지엠소프트웨어 #엔지엠에디터 #엔지엠플레이어 #비활성매크로 #하드웨어매크로 #기계식매크로 #마우스광클릭 #키보드매크로 #이미지서치 #이미지매치 #블로그 #카페 #인스타그램 #유튜브 #소셜네트워크 #카카오톡 #텔레그램 #자동화
- 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
- 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
- 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)
안녕하세요. 엔지엠소프트웨어입니다. 오늘은 프로그램 이름 또는 제목을 변경하는 방법에 대해서 알아보도록 하겠습니다. 일반적으로 프로그램이 실행되면 상단 좌측에 프로그램의 제목이 표시되거나 창 이름이 표시됩니다. 구글 크롬이나 마이크로소프트의 엣지는 이동하는 사이트의 제목이 표시되는데요. 대부분의 윈도우 프로그램은 프로그램명이 표시됩니다. 여기까지는 문제가 없지만, 멀티 다클라 매크로 환경에서 비활성으로 동작하려면 창 제목이 모두 달라야 합니다.
엔지엠 6 버전은 멀티 핸들 처리 기능이 없어서 창 제목이 모두 달라야만 정상 동작합니다. 하지만, 엔지엠 7 (가칭) 버전은 멀티 핸들 기능이 추가되었기 때문에 굳이 창 제목을 변경하지 않더라도 각각의 프로그램을 인식하고, 마우스 클릭이나 키보드 입력 같은 동작을 수행할 수 있습니다. 아래와 같이 프로그램 이름 변경 액션을 하나 만드세요.
public class AppTitleChangeModel : BaseModel
프로그램을 선택하는 로직은 BaseModel에서 이미 다 만들어져 있기 때문에 이 부분은 건너뛰어도 됩니다. 순수하게 프로그램 제목 변경 기능에 대해서만 개발하면 됩니다.
창 제목이 정상적으로 변경되었는지 확인할 수 있는 Result 속성을 하나 추가해줍니다.
[LocalizedCategory("Data")]
[LocalizedDisplayName("Result")]
[LocalizedDescription("Result")]
[Browsable(true)]
[DefaultValue(null)]
[EditorAttribute(typeof(MultilineStringEditor), typeof(UITypeEditor))]
public string? Result { get; set; }
다클라 매크로 환경에서도 사용할 수 있도록 프로그램명 변경과 자동 인덱스 속성을 추가했습니다.
[LocalizedCategory("Action")]
[LocalizedDisplayName("AppName")]
[LocalizedDescription("AppName")]
[Browsable(true)]
[DefaultValue(null)]
public string? AppName { get; set; }
[LocalizedCategory("Action")]
[LocalizedDisplayName("AppNameAutoIndex")]
[LocalizedDescription("AppNameAutoIndex")]
[Browsable(true)]
[DefaultValue(false)]
public bool AutoIndex { get; set; }
[LocalizedCategory("Action")]
[LocalizedDisplayName("WindowCaptionChangeOption")]
[LocalizedDescription("WindowCaptionChangeOption")]
[Browsable(true)]
[DefaultValue(typeof(Definition.WindowCaptionChangeOption), "Direct")]
public Definition.WindowCaptionChangeOption ChangeOption { get; set; } = Definition.WindowCaptionChangeOption.Direct;
여러개의 프로그램이 선택된 경우와 한개만 처리하는 경우를 조건으로 구분해서 처리했습니다. 자동 인덱스를 사용하면 프로그램명 뒤에 숫자를 붙여줍니다.
if (AutoIndex)
{
int index = 0;
foreach (IntPtr mainHandle in MainHandles)
Result = Ai.Api.Core.User32.SetWindowText(mainHandle, $"{appName} {index++}").ToString();
}
else
Result = Ai.Api.Core.User32.SetWindowText(MainHandle, appName).ToString();
테스트를 위해 메모장을 3개 실행했습니다. 에디터에서 아래와 같이 프로그램 이름 변경 액션의 속성을 설정하세요.
매크로를 실행하면 메모장이 전부 정렬되고, 창 이름도 각각 변경되었습니다.
이미 앞에서 다 만들어놓은 기능들의 조합이라서 간단하게 개발을 완료할 수 있었습니다. 어차피 엔지엠 6에서 대부분의 기능 개발이 완료되어 있었고, 새 버전에서는 특별히 추가되는 기능이 아니라면 복사해서 붙여넣기하는 수준입니다. 다만, 디자인이 변경되었기 때문에 구조적인 부분들이 대폭 변경되었습니다. 이전 구조와 현재 구조가 다르기 때문에 디자인 측면에서 수정해야 하는 코드들이 많아졌네요^^
[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
댓글