아래 답변에 대해 이어지는 질문입니다.

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

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

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);

}

 

C#

C# 윈폼에서 다른 프로세스에 마우스클릭하는법 설명 쉽게 해주세요 ㅠ

1
[C# 윈폼] 제가 다른프로세스(ex.최소화된 창,화면에 가려진창)에 마우스로 클릭하고싶습니다 다른프로세스에 마우스클릭하는예제 하나하나 자세하게 주석달아서 설명해주세요 ㅠㅠ 미리 감사드립니다!

[C# 윈폼]

제가 다른프로세스(ex.최소화된 창,화면에 가려진창)에 마우스로 클릭하고싶습니다

다른프로세스에 마우스클릭하는예제 하나하나 자세하게 주석달아서 설명해주세요 ㅠㅠ

미리 감사드립니다!

윈폼 마우스클릭
c#초보 2020-06-25
+
c#초보 님께서 2020-06-25에 C#에 올린 질문

댓글

조회수 1,400
답글 0
URL