관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

ShellExecuteEx(A) 본문

API 관련/Win32 API 함수

ShellExecuteEx(A)

님투 2007. 11. 8. 23:28
반응형

ShellExecuteEx(A)

새로운 프로세스를 기동합니다.폴더를 익스플로러로 열리거나 문서 파일을 관련지을 수 있었던 어플리케이션으로 열리거나 할 수도 있습니다.

BOOL ShellExecuteExA(
    LPSHELLEXECUTEINFO pExecInfo  // SHELLEXECUTEINFO구조체
);

SHELL32.DLL

인수

pExecInfo

실행되는 어플리케이션에 대한 정보를 격납했다 SHELLEXECUTEINFO 구조체의 주소를 지정합니다.

반환값

성공하면 0 이외의 값이 돌아갑니다.

실패하면 0 하지만 돌아갑니다.확장 에러 정보를 취득하려면 , GetLastError 함수를 사용합니다.

해설

함수의 호출이 성공하면, SHELLEXECUTEINFO 구조체의 hInstApp 멤버는 실행된 어플리케이션의 인스턴스 핸들이 됩니다.함수가 실패했을 경우는 32 이하의 SE_ERR_ 에러치가 됩니다.이 에러치는 ShellExecute 함수와 호환의 것입니다. ShellExecuteEx 함수로 에러치를 얻기 위해서는 GetLastError 함수를 사용하도록 해 주세요.

GetLastError 함수는 이하의 몇개의 값을 돌려줍니다.이러한 값은 SE_ERR_ 값에 대응하고 있습니다.

의미
2 (ERROR_FILE_NOT_FOUND)

지정된 파일이 발견되지 않습니다.

3 (ERROR_PATH_NOT_FOUND)

지정된 패스가 발견되지 않습니다.

5 (ERROR_ACCESS_DENIED)

지정된 파일에의 액세스는 거부되었습니다.

8 (ERROR_NOT_ENOUGH_MEMORY)

메모리가 부족하기 때문에 실행할 수 없습니다.

32 (ERROR_SHARING_VIOLATION)

공유 위반이 발생했습니다.

1155 (ERROR_NO_ASSOCIATION)

주어진 파일명의 확장자(extension)와 관련지을 수 있었던 어플리케이션이 없습니다.

1156 (ERROR_DDE_FAIL)

DDE 트랜잭션(transaction)가 실패했습니다.

1157 (ERROR_DLL_NOT_FOUND)

어플리케이션의 실행에 필요한 DLL 의1개가 발견되지 않습니다.

1223 (ERROR_CANCELLED)

함수는 유저에게 추가 정보를 재촉했습니다만, 유저가 요구를 캔슬했습니다.

대응 정보

Shell32.dll Version 4.00 이후

Windows 95 이후 / Windows NT 4.0 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

WM_RBUTTONDOWN  (0) 2007.11.09
NOTIFYICONDATA  (0) 2007.11.09
Shell_NotifyIcon(A)  (0) 2007.11.08
SHBrowseForFolder(A)  (0) 2007.11.08
SetWindowRgn  (0) 2007.11.08
Comments