윈도우에서 이미지 파일을 클릭하면 이미지 파일과 연결된 프로그램이 실행된다.
(탐색기의 도구 메뉴에 폴더 메뉴를 선택하면 연결된 프로그램을 볼수 있다)

VB에서 Shell 함수로 이미지 파일을 실행 시키면 실행을 할수가 없다. VB에서 제공되는 Shell 함수는 단지 실행 파일만 실행할수가 있다. 위 그림과 같이 연결된 프로그램을 다 서술해 주어야 한다. 그러나 API 중에 ShellExecute 함수를 사용하면 단지 파일 경로만 지정해 주면 현재 지정된 파일의 확장자와 연결된 프로그램을 실행할수 있다.
Call ShellExecute(창이 뜰경우 창의 소유자 핸들, 명령, 파일명, 인수, 작업할 디렉토리 경로, 어떤 식으로 보여줄것이냐)

예를 들면 ShellExecute 0&, "open", App.Path & "\" & "API.BitBlt.BackgroundBlack.GIF", vbNullString, vbNullString, 0&
위 예는 gif와 연결된 프로그램을 호출한다. 만약 open 대신 printto를 사용했다면 printto에 연결된 프로그램이 실행됩니다.
URL도 마찬가지 입니다. 파일명 적는 부분에 대신 URL을 적으시면 됩니다. URL도 탐색기의 폴더 옵션에 보면 위 이미지와 비슷한 내용이 나타납니다. 한번씩들 찾아보시길.

마지막 인수 내용은 다음과 같습니다.
SW_HIDE 0 윈도우가 감추진 상태
SW_MAXIMIZE 3 윈도우를 최대화
SW_SHOW 5 윈도우가 보여지는 상태
SW_SHOWNORMAL 1 윈도우의 원래 크기, 위치로 보여준다
SW_RESTORE 9 윈도우를 윈래의 크기로 표시한다
SW_MINIMIZE 6 윈도우를 최소화
SW_NORMAL 1 윈도우를 보여준다.
SW_SHOWDEFAULT 10 해당프로그램(실행파일)시작시 전달되는 StartupInfo구조체중 SW_FLAG 에따라 생성(요것땜시 참고로 엑셀 유저폼에는 최대화, 최소화버튼이 없다)
SW_SHOWMAXIMIZED 3 최대화 상태로 활성화한다.
SW_SHOWMINIMIZED 2 최소화상태로 활성화한다
SW_SHOWNA 8 현재상태로 표시한다.
SW_SHOWNOACTIVATE 4 윈도우를 최근 크기와 위치로 표시한다
SW_SHOWMINNOACTIVE 7 최소화 상태로 윈도우를 표시하고, 활성화 상태에 있던 윈도우는 활성환된 상태로 둔다.

+ Recent posts