mfc 프로그램에서 FindWindow() 사용 코드

mfc 프로그램에서 FindWindow() 사용 코드는?

MFC 프로그램에서 FindWindow() 함수를 사용하여 윈도우를 찾는 방법은 다음과 같습니다. FindWindow() 함수는 해당 윈도우의 클래스 이름과 윈도우 제목을 기반으로 윈도우를 찾습니다.


#include <afxwin.h>

int main()

{

    // 찾을 윈도우의 클래스 이름과 윈도우 제목

    CString classNameToFind = _T("YourClassName");

    CString windowTitleToFind = _T("YourWindowTitle");


    // 윈도우 찾기

    HWND hWnd = ::FindWindow(classNameToFind, windowTitleToFind);


    if (hWnd != NULL)

    {

        // 윈도우를 찾은 경우

        // 추가로 필요한 작업 수행

        // 예: 윈도우 핸들을 사용하여 윈도우 조작, 메시지 보내기 등

        AfxMessageBox(_T("윈도우를 찾았습니다."));

    }

    else

    {

        // 윈도우를 찾지 못한 경우

        AfxMessageBox(_T("윈도우를 찾지 못했습니다."));

    }


    return 0;

}

위의 코드에서 FindWindow() 함수는 지정한 클래스 이름과 윈도우 제목을 가진 윈도우를 찾습니다. 만약 원하는 윈도우를 찾으면 해당 윈도우의 핸들(HWND)을 반환하고, 찾지 못하면 NULL을 반환합니다.

classNameToFind 변수에는 찾을 윈도우의 클래스 이름을, windowTitleToFind 변수에는 윈도우 제목을 입력합니다. 이렇게 지정한 클래스 이름과 윈도우 제목을 가진 윈도우가 존재한다면 해당 윈도우의 핸들이 hWnd 변수에 저장됩니다.

프로그램에서 필요한 윈도우를 찾고 나면, 해당 윈도우의 핸들(hWnd)을 사용하여 원하는 작업을 수행할 수 있습니다. 예를 들어, 찾은 윈도우로부터 메시지를 보내거나 윈도우를 조작하는 등의 작업을 할 수 있습니다.

mfc에서 HWND에서 CWnd*로 변환

MFC에서 HWND를 CWnd*로 변환하려면 FromHandle 함수를 사용하면 됩니다. FromHandle 함수는 윈도우 핸들(HWND)을 CWnd*로 변환하는 역할을 합니다. CWnd*는 MFC에서 윈도우를 나타내는 클래스의 포인터입니다.

아래는 HWND를 CWnd*로 변환하는 예시 코드입니다:


#include <afxwin.h>


int main()

{

    // HWND로 변환할 윈도우 핸들

    HWND hWnd = ::FindWindow(_T("YourClassName"), _T("YourWindowTitle"));


    if (hWnd != NULL)

    {

        // CWnd*로 변환

        CWnd* pWnd = CWnd::FromHandle(hWnd);


        if (pWnd != NULL)

        {

            // 변환 성공: CWnd*를 사용하여 윈도우 조작 등의 작업 수행

            // 예: pWnd->ShowWindow(SW_HIDE);

            AfxMessageBox(_T("윈도우를 성공적으로 변환했습니다."));

        }

        else

        {

            // 변환 실패: CWnd*로 변환하지 못한 경우

            AfxMessageBox(_T("윈도우를 변환하지 못했습니다."));

        }

    }

    else

    {

        // 윈도우 핸들을 찾지 못한 경우

        AfxMessageBox(_T("윈도우를 찾지 못했습니다."));

    }


    return 0;

}

위의 코드에서 ::FindWindow(_T("YourClassName"), _T("YourWindowTitle"))으로 원하는 윈도우의 핸들을 얻어옵니다. 그리고 CWnd::FromHandle(hWnd)을 사용하여 해당 HWND를 CWnd*로 변환합니다. 성공적으로 변환한 경우 CWnd* 포인터를 사용하여 윈도우를 조작하거나 작업을 수행할 수 있습니다.

CWnd*을 사용하면 MFC에서 제공하는 다양한 멤버 함수를 활용하여 윈도우 조작이나 메시지 처리 등을 더 편리하게 수행할 수 있습니다.

태풍 풀라산(PULASAN) 영향과 이동 경로

태풍 풀라산(PULASAN) 영향과 이동 경로 태풍 풀라산(PULASAN)은 현재 한반도에 큰 영향을 미치고 있습니다. 이 태풍은 강력한 비와 바람을 동반하며, 여러 기상 변화와 위험을 초래할 것으로 예상됩니다. 1. 태풍의 한반도 영향 태풍 풀...