본문 바로가기
마우스 매크로

C# 매크로 만들기 강좌. (마우스 클릭 매크로)

by 업무자동화 2022. 8. 18.
반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로

 

C# for Visual Studio 2019 (Core & .NET)

C#의 경우에는 Core와 .NET 설정이 다릅니다. Core의 경우 플랫폼에 종속되지 않기 위해 닷넷 프레임워크에서 제공하는 Windows 관련 라이브러리를 사용할 수 없습니다. 물론, 프로젝트 파일에서 직접 설정하면 유용한 함수들을 쉽게 사용할 수 있지만 다른 플랫폼(리눅스, 맥)에서 프로그램이 동작하지 않게 되는 단점이 있습니다.

using System;
using System.Runtime.InteropServices;

namespace ConsoleApp1
{
    class Program
    {
		const int InputMouse = 0;
		const int MouseEventMove = 0x01;
		const int MouseEventAbsolute = 0x8000;
		const int MouseEventLeftDown = 0x02;
		const int MouseEventLeftUp = 0x04;

		[DllImport("user32.dll", SetLastError = true)]
        private static extern uint SendInput(uint numInputs, Input[] inputs, int size);

		internal struct MouseInput
        {
            public int X;
            public int Y;
            public uint MouseData;
            public uint Flags;
            public uint Time;
            public IntPtr ExtraInfo;
        }

        internal struct Input
        {
            public int Type;
            public MouseInput MouseInput;
        }

        static void Main(string[] args)
        {
			MouseLeftClick();
		}

		static void MouseLeftClick()
		{
			Input[] inputs = new Input[2];

			inputs[0] = new Input();
			inputs[0].Type = InputMouse;
			inputs[0].MouseInput.X = (300 * 65535) / System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
			inputs[0].MouseInput.Y = (300 * 65535) / System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height;
			inputs[0].MouseInput.Flags = MouseEventAbsolute | MouseEventMove;

			inputs[1] = new Input();
			inputs[1].Type = InputMouse;
			inputs[1].MouseInput.Flags = MouseEventLeftDown;

			SendInput(2, inputs, Marshal.SizeOf(inputs[0]));

			inputs = new Input[1];

			inputs[0] = new Input();
			inputs[0].Type = InputMouse;
			inputs[0].MouseInput.Flags = MouseEventLeftUp;

			SendInput(2, inputs, Marshal.SizeOf(inputs[0]));
		}
	}
}
 

 

C#은 윈도우 API를 직접 사용할 수 없습니다. 윈도우 API를 dll로 import한 후 extern을 이용해서 해당 dll의 함수를 호출해야 합니다. extern 한정자는 외부에서 구현된 메소드를 선언하는 데 사용됩니다. extern 한정자는 일반적으로 Interop 서비스를 사용하여 비관리 코드를 호출할 때 DllImport 특성과 함께 사용됩니다. 이 경우 메소드를 static으로 선언해야 합니다.

 

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로 #이미지맥스 #심플핫키 #오토클리커 #UiPath #Brity #스푸퍼 #DKOM #모바일게임매크로 #다클라매크로 #다계정매크로 #인스타그램매크로

반응형

댓글