자동화

질문
2018.04.02 11:54

c# 윈폼 SendMessage

조회 수 192 추천 0 댓글 0


1.

 

 private void button1_Click(object sender, EventArgs e)
        {
           
            IntPtr fw = FindWindow(null,"제목 없음 - 메모장");

            if (fw != IntPtr.Zero)
                  SendMessage(fw,0x0100,0x32,(IntPtr)10);

 

 


        }

 

FindWindow와 SendMessage를 dlliimport한 후에 위처럼 코드를 짰습니다

예상결과는 버튼을 클릭하면 메모장에 {2}키를 10번 반복하여 적히도록 하는건데요

실행시켜보았는데 작동이 되지않네요 뭐가 문제인가요?

 

 

 

2.

 

 public void Clicker(int x, int y)
        {
           
            IntPtr fww = FindWindow(null, "카카오톡");
            if (fww != IntPtr.Zero)
            {
              
                IntPtr lparam = new IntPtr(x | (y << 16));

                SendMessage(fww, WM_LBUTTONDOWN, 1, lparam);
                SendMessage(fww, WM_LBUTTONUP, 0, lparam);
            }
        }

 

 

좌표를 입력하면 카카오톡 내에서의 해당좌표를 클릭하는 클릭함수를 구현해보았습니다

WM_LBUTTON의 lparam에 4바이트 HIWORD는 Y좌표 나머지 4바이트 LOWORD는 X좌표라서 IntPtr생성자로 좌표를 합쳐 넣었습니다

이것도 실행이 제대로 안됩니다 이유가 뭘까요?



너무 간단한건데 왜 안되는지 모르겠습니다




전체 최신 인기글

전체 주간 인기글