ShellExecute()에서 윈도우 핸들(Window handle)을 저장하는 코드

ShellExecute()에서 윈도우 핸들(Window handle)을 저장하는 코드 

hInst = ShellExecute(NULL, "open", strPath, NULL, NULL, SW_SHOW); 의 코드에서 윈도우 핸들을 저장하는 코드는?

ShellExecute 함수는 새로운 프로세스를 실행하는데 사용되며, 해당 프로세스를 실행한 후 새로 생성된 프로세스의 핸들을 반환하지는 않습니다. 따라서 ShellExecute 함수 자체로는 직접 실행한 프로세스의 핸들을 얻을 수 없습니다.


하지만 ShellExecuteEx 함수를 사용하면 프로세스의 핸들을 얻을 수 있습니다. ShellExecuteEx 함수는 SHELLEXECUTEINFO 구조체를 인자로 받아 해당 프로세스를 실행하고, 그 결과로 새로 생성된 프로세스의 핸들을 얻을 수 있습니다.


다음은 ShellExecuteEx 함수를 사용하여 윈도우 핸들을 얻는 방법의 예시 코드입니다.


#include <Windows.h>

#include <Shellapi.h>


int main()

{

    SHELLEXECUTEINFO info = { sizeof(SHELLEXECUTEINFO) };

    info.lpVerb = _T("open");

    info.lpFile = _T("YOUR_PROGRAM.EXE"); // 실행할 프로그램의 경로

    info.nShow = SW_SHOW;


    if (ShellExecuteEx(&info))

    {

        // 프로세스 실행 성공

        // info.hProcess 변수에 새로 실행된 프로세스의 핸들이 저장됨

        // 이 핸들을 사용하여 해당 프로세스와 상호작용할 수 있음

        HANDLE hProcess = info.hProcess;


        // 프로세스와 상호작용을 위한 추가 로직 작성

        // ...


        // 프로세스 종료

        CloseHandle(hProcess);

    }

    else

    {

        // 프로세스 실행 실패

        // 오류 처리

    }


    return 0;

}

위의 코드에서 info.hProcess 변수에 새로 생성된 프로세스의 핸들이 저장되며, 이를 사용하여 해당 프로세스와 상호작용할 수 있습니다. 주의해야 할 점은, ShellExecuteEx 함수가 프로세스를 실행한 후에는 적절히 해당 프로세스와 상호작용을 처리해야 하며, 마지막에 CloseHandle 함수를 사용하여 프로세스 핸들을 닫아야 합니다.

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

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