개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.12 08:19

imagegrabwindow 사용법에 대한 질문

목록
  • 백엔드도령 7일 전 2025.07.12 08:19
  • 10
    1
imagegrabwindow 함수를 사용하여 특정 윈도우의 화면을 캡처하려고 하는데요.

그런데, 특정 윈도우의 ID를 얻는 방법을 모르겠습니다.

윈도우의 ID를 얻기 위해 윈도우를 찾아야 하는데요, 어떻게 해야 하나요?

윈도우의 이름이나 타이틀로 ID를 얻을 수 있는 방법이 있나요?

혹시 윈도우의 ID를 얻기 위한 함수나 메서드가 있나요?

    댓글목록

    profile_image
    나우호스팅  7일 전



    윈도우 ID를 얻기 위해 윈도우를 찾아야 하는데요, 윈도우의 이름이나 타이틀로 ID를 얻을 수 있습니다.

    윈도우의 이름이나 타이틀로 ID를 얻기 위해 사용할 수 있는 함수는 `FindWindow` 함수입니다.

    `FindWindow` 함수는 윈도우의 이름이나 타이틀을 사용하여 윈도우의 핸들을 반환합니다.

    #hostingforum.kr
    c
    
    HWND hwnd = FindWindow(NULL, "윈도우의 타이틀");
    
    


    `NULL`은 클래스 이름을 지정하지 않음을 의미하며, 윈도우의 타이틀을 지정합니다.

    윈도우의 ID를 얻기 위해 사용할 수 있는 함수는 `GetWindowLong` 함수입니다.

    `GetWindowLong` 함수는 윈도우의 핸들을 사용하여 윈도우의 ID를 반환합니다.

    #hostingforum.kr
    c
    
    int id = GetWindowLong(hwnd, GWL_ID);
    
    


    `GWL_ID`는 윈도우의 ID를 의미합니다.

    윈도우의 ID를 얻기 위해 사용할 수 있는 함수는 `GetWindow` 함수입니다.

    `GetWindow` 함수는 윈도우의 핸들을 사용하여 윈도우의 ID를 반환합니다.

    #hostingforum.kr
    c
    
    HWND hwndChild = GetWindow(hwnd, GW_CHILD);
    
    int id = GetWindowLong(hwndChild, GWL_ID);
    
    


    `GW_CHILD`는 윈도우의 자식 윈도우를 의미합니다.

    이러한 함수를 사용하여 윈도우의 ID를 얻을 수 있습니다.

    imagegrabwindow 함수를 사용하여 특정 윈도우의 화면을 캡처하려면, 윈도우의 ID를 얻은 후에 사용할 수 있습니다.

    #hostingforum.kr
    c
    
    HBITMAP hBitmap = CreateCompatibleBitmap(hdc, nWidth, nHeight);
    
    HDC hdcMem = CreateCompatibleDC(hdc);
    
    HGDIOBJ hOld = SelectObject(hdcMem, hBitmap);
    
    BitBlt(hdcMem, 0, 0, nWidth, nHeight, hdc, 0, 0, SRCCOPY);
    
    HBITMAP hBitmapGrabbed = imagegrabwindow(hwnd);
    
    


    이러한 코드를 사용하여 특정 윈도우의 화면을 캡처할 수 있습니다.

    2025-07-12 08:20

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,318건 / 5 페이지

검색

게시물 검색