HINSTANCE ShellExecute ( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );
hwnd 인자는 부모 윈도우의 핸들이며, 이 값이 NULL이면 부모 윈도우는 바탕 화면이 됩니다. lpOperation 인자에는 함수가 어떤 동작을 할 것인지 명시합니다.
* lpOperation 인자값 설명
명령 |
설명 |
open |
파일을 연다. 실행 파일일 경우 곧바로 실행되며 데이터 파일은 연결된 프로그램이 실행된다. |
edit |
편집기를 열어 편집한다. 데이터 파일만 열 수 있다. |
explorer |
폴더를 연다. |
|
문서 파일을 인쇄한다. |
NULL |
디폴트를 실행한다. |
중요한 점은 lpFile 인자로 전달받는 것이 실행 파일이 아닌 경우 레지스트리의 내용을 참조하여 연결 프로그램을 실행하여 내용을 보여준다는 것입니다. 만일 lpFile 인자로 URL을 준다면 브라우저를 실행하여 해당 사이트로 접속을 시도합니다
* 실행되는 브라우저는 기본 브라우저로 설정된 브라우저가 실행되고, 실행하였을때 브라우저가 열려 있는 상태일땐 열려 있는
브라우저에서 실행된다.
ShellExecute(NULL, TEXT("open"), TEXT("http:⁄⁄www.naver.co.kr"), NULL, NULL, SW_SHOW);
lpParameters 인자에는 lpFile 인자가 실행 파일인 경우 실행할 파일의 실행 인자를 명시 합니다. lpDirectory 인자에는 실행할 프로그램의 현재 폴더 경로를 명시합니다. 이 값이 NULL이면 윈도우 기본(Default) 설정을 적용합니다.
ShellExcute 함수는 성공적으로 파일을 열었을 경우 32보다 큰 값을 리턴하며 에러 발생시 32이하의 값을 리턴한다. 16비트와의 호환을 위해 HINSTANCE 타입을 리턴하지만 실제로는 int 타입이므로 int로 캐스팅하여 점검하면 된다.
[ 출저 ] - 윈도우즈 API 정복 하 Page 1520 - 1521, VISUAL C++ 2008 MFC 윈도우 프로그래밍 Page 280 - 282
더 세부적인 사항은 아래의 사이트를 참고
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
Link : http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=779