클래스 멤버 변수 선언
SHELLEXECUTEINFO m_sInfo;
외부 어플리케이션 실행
ZeroMemory(&m_sInfo, sizeof(SHELLEXECUTEINFO));
m_sInfo.cbSize = sizeof(SHELLEXECUTEINFO);
m_sInfo.lpFile = _T("D:\\my_process.exe"); //프로세스 경로
m_sInfo.lpParameters = _T("--id=my --pass=process"); //전달 인자
m_sInfo.nShow = SW_SHOWMINIMIZED; //실행시 최소화
m_sInfo.lpVerb = _T("runas"); //관리자 권한 실행
m_sInfo.fMask = SEE_MASK_NOCLOSEPROCESS; //프로세스 핸들값 사용
if(ShellExecuteEx(&m_sInfo))
{
TRACE("ShellExecuteEx Success\n");
}
else
{
TRACE("ShellExecuteEx Failed\n");
}
※ fMask에 SEE_MASK_NOCLOSEPROCESS 값을 설정하면 m_sInfo.hProcess에 프로세스 핸들이 저장된다.
프로세스 종료
{
m_sInfo.hProcess = 0;
TRACE("Exit Process Success\n");
}
else
{
TRACE("Exit Process Failed\n");
}
댓글 없음:
댓글 쓰기