Game Dev/Article
Vista에서 관리자 권한으로 프로세스 실행시키기
AKer
2009. 5. 28. 10:51
반응형
ActiveX나 기타 응용 프로그램 내에서 프로세스를 실행시켜야 할 경우가 있다. 보통은 CreateProcess 등을 사용하는데 이 경우 Vista에서 부모 프로세스를 관리자 권한으로 실행하지 않았을 경우 제대로 동작하지 않는다.
해결법은 ShellExecuteEx 함수를 사용하는 것이다.
// Process 생성 SHELLEXECUTEINFO shExecInfo; shExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); shExecInfo.fMask = NULL; shExecInfo.hwnd = NULL; shExecInfo.lpVerb = NULL; shExecInfo.lpFile = 프로세스이름; shExecInfo.lpParameters = 파라미터; shExecInfo.lpDirectory = 시작위치; shExecInfo.nShow = SW_NORMAL; shExecInfo.hInstApp = NULL; ShellExecuteEx(&shExecInfo);
반응형