C#

c# 윈폼에서의 사용하지 않는창에 마우스클릭 방법

1
제가 만들고싶은게 있어서 C#을 배우며 최대한 만드는중인 초보입니다. 윈폼에서 사용하지 않는 창에 마우스클릭을 하고싶은데 구글링을 해도 잘 못찾겠더군요...ㅠ 윈폼에서 '사용하지 않는 창(ex:최소화해놓은창 등...)에 마우..

제가 만들고싶은게 있어서 C#을 배우며 최대한 만드는중인 초보입니다.

윈폼에서 사용하지 않는 창에 마우스클릭을 하고싶은데 구글링을 해도 잘 못찾겠더군요...ㅠ

윈폼에서

'사용하지 않는 창(ex:최소화해놓은창 등...)

마우스클릭하게하는 방법' 알고싶습니다!

최대한 알기 쉽게 가르쳐주시면 감사하겠습니다!

윈폼 c#
c#초보 2020-06-23
+
c#초보 님께서 2020-06-23에 C#에 올린 질문

댓글

2개의 답변

1
원하시는 답변이신지 모르겠습니다만, FindWindow API를 사용하는 방법이 있습니다.   순서는 다음과 같습니다. FindWindow를 이용하여 원하는 윈도우를 찾은 다음  FindWindowEx 를 이용하여 윈도우 안에서 버튼을 찾습니다. 그런..

원하시는 답변이신지 모르겠습니다만,

FindWindow API를 사용하는 방법이 있습니다.

 

순서는 다음과 같습니다.

  1. FindWindow를 이용하여 원하는 윈도우를 찾은 다음 
  2. FindWindowEx 를 이용하여 윈도우 안에서 버튼을 찾습니다.
  3. 그런 다음 SendMessage를 호출하여 해당 버튼에 클릭 이벤트를 보냅니다.

 

샘플 코드는 아래와 같습니다.

int hwnd=0;
IntPtr hwndChild=IntPtr.Zero;

// myapp 애플리케이션 윈도우의 핸들을 가져옵니다.
hwnd=FindWindow(null,"myapp");
if(hwnd == 0)
{
    if(MessageBox.Show("Couldn't find the calculator" + 
                       " application. Do you want to start it?", 
                       "TestWinAPI", 
                       MessageBoxButtons.YesNo)== DialogResult.Yes)
    {
        System.Diagnostics.Process.Start("Calc");
    }
}
else
{
        
    //"mybutton" 버튼의 핸들을 가져옵니다.
    hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","mybutton");
    
    //BN_CLICKED 클릭 메시지를 보냅니다.
    SendMessage((int)hwndChild,BN_CLICKED,0,IntPtr.Zero);

}

 

윈폼 FindWindow C#
kimho 2020-06-24
+
사탕 주기
kimho 님께서 2020-06-24에 C#에 올린 글
보관하기
0
 
c#초보 2020-06-25
감사합니다 제가 원하는 답변입니다! ㅎㅎ
0
 
c#초보 2020-06-25
FindWindowEx를 사용할 자식 창이 없고 부모 창만 있으면 그냥 FindWindow하고 SendMessage 쓰면 되나요?

댓글

1
감사합니다 혹시 SendMessage 마우스 클릭하는법을 자세히 설명해주실수 있나요? SendMessage((int)hwndChild,BN_CLICKED,0,IntPtr.Zero); 이부분에 각자 콤마로 끊어져있는게 뭘 뜻하는지,응용하려면 여기에 뭘 넣어야하는지 궁금해서..

감사합니다 혹시 SendMessage 마우스 클릭하는법을 자세히 설명해주실수 있나요?

SendMessage((int)hwndChild,BN_CLICKED,0,IntPtr.Zero);

이부분에 각자 콤마로 끊어져있는게 뭘 뜻하는지,응용하려면 여기에 뭘 넣어야하는지 궁금해서요

그리고 지정된 자표값에 클릭을 하려면 어디에 좌표를 어떻게 넣어야하나요?

 

c#초보 2020-06-25
+
사탕 주기
c#초보 님께서 2020-06-25에 C#에 올린 글
보관하기

댓글

조회수 2,183
답글 2
URL