무료 매크로 프로그램 다운로드
http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로
안녕하세요. 엔지엠소프트웨어입니다. 함수에 윈도우 API 액션 사용법에 대해 알아보도록 하겠습니다. 우선, 엔지엠 에디터를 실행한 후 새로운 스크립트에 윈도우 API 액션을 추가하세요. 액션보다 직접 코딩으로 계산할 때 유용하게 사용할 수 있습니다. 각각의 기능 및 함수 목록은 아래 내용을 참고하세요.
명령은 아래와 같이 간단하게 수식을 계산할 수 있습니다. 명령에 2022+1을 입력하고, 실행하면 하단 아웃풋 및 결과 값에 2023이 출력됩니다.
1. getDateTime
getDateTime 함수는 날짜와 시간을 가져옵니다. 결과 값에 현재 날짜와 시간(yyyy-MM-dd HH:mm:ss.fff)이 표시됩니다.
만약, 현재 시간에 1시간을 더하려면 아래와 같이 처리할 수 있습니다.
{getDateTime(HH)}+1
년도를 가져와서 5년을 더하면 아래와 같습니다.
{getDateTime(yyyy)}+5
날짜 함수의 인자 의미는 아래와 같습니다.
- yyyy: 년도
- MM: 월
- dd: 일
- HH: 시
- mm: 분
- ss: 초
- fff: 밀리초
년월일만 가져오려면 아래와 같이 처리합니다.
{getDateTime(yyyy-MM-dd)}
반복하면서 초를 확인하고 싶으면 아래와 같이 할 수 있습니다. 우연히 1초와 실행 시간이 맞아 떨어졌네요. 결과 값에 실제 초를 표시하는게 맞습니다^^
년도와 월을 더 할 수도 있습니다.
{getDateTime(yyyy)}+{getDateTime(MM)}
날짜 시간을 계산하려면 아래와 같이 처리합니다.
// 변수 값 2022-02-28
// 오늘 2022-02-25
{getVar(a, DateTime)}-{getDateTime}
// 결과 값
// 0000-00-3 14:3:55.185
포멧을 설정할 수 있고 연산은 빼기, 더하기와 같은 사칙 연산을 사용할 수 있습니다.
{getVar(a, DateTime, dd))}-{getDateTime(dd)}
// 결과 값
// 3
{getVar(a, DateTime, dd))}+{getDateTime(dd)}
// 결과 값
// 53
2. getVariable(getVar)
아래 그림과 같이 변수 a와 b를 추가합니다. 그리고, a 변수의 문자열에 2022를 입력하고, b 변수에는 10을 입력 해줍니다.
아래와 같이 변수의 값을 가져와서 연산할 수 있습니다.
{getVariable(a)}+{getVariable(b)}
물론, 변수 연산과 일반 연산도 같이 수행할 수 있습니다.
{getVariable(a)}+{getVariable(b)}-1000
3. Rectangle(Rect)
변수에 있는 사각형 영역을 가져옵니다. 아래 그림과 같이 a 변수에 사각형 값을 초기 값으로 넣어줍니다.
변수의 사각형 값을 가져옵니다.
{getVariable(a, Rectangle)}
변수의 사각형 값에서 Right 값을 연산하는 방법입니다. 사각형은 Left(X), Top(Y), Right(X+Width), Bottom(Y+Height)과 같이 각 꼭지점의 좌표를 계산할 수 있습니다.
{getVariable(a, Rectangle, X)}+{getVariable(a, Rectangle, Width)}
사각형의 중앙 좌표를 가져오려면 아래와 같이 처리할 수 있습니다.
var myVar1
var myVar2
myVar1 = {getVar(a, Rect, X)} + ({getVar(a, Rect, Width)} / 2)
myVar2 = {getVar(a, Rect, Y)} + ({getVar(a, Rect, Height)} / 2)
myVar1, myVar2
// 사각형 100, 100, 200, 300
// 결과 값
// 200, 250
4. Point
좌표를 계산하거나 변환 처리할 때 사용할 수 있습니다.
{getVariable(a, Point, X)}+{getVariable(a, Point, Y)}
방식은 사각형 연산과 동일합니다.
5. Size
좌표와 사용법은 동일합니다. 크기를 계산하거나 조정할 때 사용할 수 있습니다.
{getVariable(a, Size, X)}+{getVariable(a, Size, Y)}
방식은 좌표(Point) 연산과 동일합니다.
6. Array(Arr)
변수로부터 배열을 처리 가져올 수 있습니다. 테스트를 위해 변수에 1, 2, 3, 4, 5 배열을 추가 했습니다.
배열은 인자가 무조건 3개 필요합니다. 첫번째 인자는 변수명이고, 두번째 인자는 변수 타입입니다. 배열이라면 세번째 인자로 인덱스에 위치한 값을 가져옵니다.
{getVar(a, Arr, 0)}
// 결과 값
// 1
배열의 세번째 인자는 아래와 같습니다.
- 숫자: 배열의 위치 값 (0, 1, 2, 3, ...)
- Sum: 배열의 모든 값의 합
- Avg: 배열의 평균
- First: 배열의 첫번째 값
- Last: 배열의 마지막 값 (배열의 길이가 가변일 경우 마지막 값 확인)
- Count: 배열의 길이입니다. (배열에 포함된 항목의 수)
- All: All은 구분자와 같이 사용됩니다. 예) All^, All#, ...
7. getHandle, getControl, getClass
프로그램의 핸들 값을 가져올 수 있습니다.
핸들은 아래와 같이 아스테리스크(*)와 같이 사용할 수 있습니다. 일부 프로그램은 풀네임을 입력해야 정상 동작하므로 가능하면 풀네임을 사용하세요.
{getHandle(NGMsoftware)}
{getHandle(NGM*)}
{getHandle(*software)}
{getHandle(*sof*)}
매인 핸들을 이용해서 콘트롤의 핸들을 찾을 수 있습니다.
var MyHandle
MyHandle = {getHandle(Cheat Engine 7.2)}
{getControl(MyHandle, Hex)}
매인 핸들을 이용해서 클래스 네임의 핸들을 찾을 수 있습니다.
var MyHandle
MyHandle = {getHandle(Cheat Engine 7.2)}
{getClass(MyHandle, Edit)}
8. getWindowRectangle(getWinRect)
7번의 윈도우 핸들을 이용하면 해당 프로그램(윈도우)의 창 위치를 알 수 있습니다. 변수 이름이 파라메터 값에 포함되면 안됩니다. NGMsoftware에 a라는 값이 있기 때문에 파라메터가 변수로 대체 되기 때문입니다. 따라서, 변수 이름을 myVar로 변경하고 테스트하세요.
var a
a={getHandle(NGM*)}
{getWindowRectangle(a)}
// 결과 값
// X=-8,Y=-8,Width=1928,Height=1048
var myVar
myVar={getHandle(NGMsoftware)}
{getWindowRectangle(myVar, X)}
// 결과 값
// 847
9 Math
부동 소수점을 올림, 반올림, 내림, 버림등등... 처리할 때 사용합니다.
{Math(777.4545, Truncate)}
// 결과 값
// 777
반올림은 Round를 사용합니다.
var myVar
myVar = 777.5
{Math(myVar, Round)}
// 결과 값
// 778
Math 함수의 인자는 아래와 같습니다.
- Abs: 절대 값
- Round: 반올림
- Ceiling: 올림
- Truncate: 내림
- Floor: 소수점 버림
변수를 이용할수도 있습니다.
변수 사용 방법과 동일합니다.
{getVar(a, Math, Round)}
// 결과 값
// 778
9. getActiveWindow
현재 활성 상태의 윈도우 핸들을 가져옵니다.
{getActiveWindow}
10. getWindowText
인자로 넘겨준 핸들 값으로 윈도우를 찾고, 해당 윈도우의 캡션(창 제목)을 가져옵니다. 아래와 같이 처리하면 현재 활성창의 창 제목을 알 수 있습니다.
var myVar
myVar = {getActiveWindow}
{getWindowText(myVar)}
11. getResolution
모니터의 해상도 정보를 가져올 수 있습니다.
{getResolution}
// 결과 값 (듀얼 모니터 사용)
// Width=3840, Height=1080
{getResolution(Primary)}
// 결과 값 (주 모니터)
// Width=1920, Height=1080
{getResolution(Index, 1)}
// 결과 값 (두번째 모니터)
// Width=1920, Height=1080
각각 가로, 세로 사이즈도 가져올 수 있습니다.
{getResolution(Width)}
// 결과 값
// 3840
{getResolution(Index, 1, Width)}
// 결과 값
// 1920
12. getPosition
현재 마우스 위치를 알 수 있습니다.
{getPosition} // {getPosition()}
// 결과 값
// X=862,Y=393
{getPosition(X)}
// 결과 값
// 862
{getPosition(Y)}
// 결과 값
// 393
좌표의 X, Y 값을 각각 줄바꿈으로 표시하고 싶으면 \n을 사용합니다.
{getPosition(X)}\n{getPosition(Y)}
// 또는
{getPosition(X)}\n
{getPosition(Y)}
// 또는
{getPosition(X)}
\n{getPosition(Y)}
13. getUserName
사용자 계졍 이름을 가져옵니다.
{getUserName}
14. getComputerName
컴퓨터 이름을 가져옵니다.
{getComputerName}
15. getCapture
윈도우 화면을 캡쳐합니다. 영역을 설정하거나 클립보드에 저장할 수 있습니다.
// 이미지를 저장할 위치가 없으면 클립보드에 저장됩니다.
{getCapture}
// 바탕화면에 이미지를 저장합니다.
{getCapture(Desktop)}
// 사용자가 설정한 위치에 이미지를 저장합니다.
{getCapture(E:\\ngmsoftware.png)}
// 캡쳐 영역을 설정할 수 있습니다.
{getCapture(Desktop, 10, 10, 100, 100)}
16. getPixel
좌표의 픽셀 정보를 가져옵니다. 픽셀 정보는 아래와 같습니다.
{getPixel(300, 300, rgb)}
{getPixel(300, 300, argb)}
{getPixel(300, 300, name)}
{getPixel(300, 300, brightness)}
{getPixel(300, 300, hue)}
{getPixel(300, 300, saturation)}
{getPixel(300, 300, r)}
{getPixel(300, 300, g)}
{getPixel(300, 300, b)}
{getPixel(300, 300, a)}
17. Internal Variable
내부에 변수를 선언하고, 계산된 값을 임시로 저장할 수 있습니다. 그리고, 이 값을 재사용할 수 있습니다.
- var: 변수 선언
- =: 변수에 값 대입
※ 변수 선언과 값 대입은 한줄에 하나만 작성할 수 있습니다.
변수에 함수를 사용할 수 있습니다.
var a
var b
a = {getDateTime(yyyy)}
b = 2
a+b
연산에 일반 연산을 사용할 수 있습니다.
var a
var b
a = {getDateTime(yyyy)}
b = 2
a+b+1000
변수 값을 가져와서 연산할 수 있습니다.
X 좌표 값이 10이고, b 가 10 그리고, 1000을 더해주기 때문에 결과 값은 1020이 됩니다.
var a
var b
a = {getVar(a, Rect, X)}
b = 10
a+b+1000
일반 문자열 연결은 아래와 같이 사용합니다.
var a
var b
a=안녕
b=하세요
ab
// 결과 값
안녕하세요
문자열 연결시 콤마 또는 띄어쓰기로 구분하려면 아래와 같이 사용합니다.
var a
var b
a=안녕
b=하세요
a,b
// 결과 값
// 안녕,하세요
var a
var b
a=안녕
b=하세요
a b
// 결과 값
// 안녕 하세요
var a
var b
a=안녕
b=하세요
a, b
// 결과 값
// 안녕, 하세요
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로 #이미지맥스 #심플핫키 #오토클리커 #UiPath #Brity #스푸퍼 #DKOM #모바일게임매크로 #다클라매크로 #다계정매크로 #인스타그램매크로
댓글