본문 바로가기
Computer/OS

ShellExecute

by 이재만박사 2016. 10. 13.

이 함수는 운영체제가 직접 제공하는 함수가 아니라 쉘이 제공하는 탐색기는 항상 설치되므로 언제든지 사용 가능


HINSTANCE ShellExecute( HWND hwnd, 

                              LPCTSTR lpOperation, 

                              LPCTSTR lpFile, 

                              LPCTSTR lpParameters,

                              LPCTSTR lpDirectory,

                              INT nShowCmd);


이 함수는 실행 파일 뿐만 아니라 일반 데이터 파일도 실행

데이터 파일을 실행하면 보통 연결된 프로그램이 실행되면서 데이터 파일이 같이 열림


예를 들어 확장자가 txt 인 파일을 실행하면 텍스트 파일을 편집할 수 있는 편집기가 열리는데 보통 메모장이 실행

그림 파일이나 멀티 미디어 파일도 이 함수로 실행


hwnd - 부모 윈도우의 핸들

프로세스 실행 중에 열리는 에러 메시지 박스가 이 윈도우의 차일드로 생성


두 번째 인자

- 해당 파일을 어떻게 열 것인가 지정하는 동사를 문자열 형태로 지정


open - 파일을 연다, 실행파일일 경우 바로 실행, 데이터 파일은 연결된 프로그램이 실행

edit - 편집기를 열어 편집, 데이터 파일만 가능

explorer - 폴더 열기

print - 문서 인쇄

NULL - 디폴트 동사 실행, 보통 "open" 또는 레지스트리의 첫 번째 동사


세 번째 인자

 lpFile - 파일 경로


나머지 세 인자는 lpFile 이 실행 파일일 경우 명령행 인수 시작 디렉토리, 초기 보이기 상태 지정


성공적으로 파일을 열었을 경우 32보다 큰 값을 리턴

에러 발생 시 32 이하의 값을 리턴


16비트와 호환을 위해 HINSTANCE 타입을 리턴

실제로는 INT 타입을 리턴 - int로 캐스팅하여 점검

댓글