메르카토르 지도에 최단경로를 그리는 프로그램을 개발 중 이미지 파일(PNG)을 화면에 간단히 출력하는 기능을 넣기로 했다.
처음엔 그냥 ShellExecute() 함수에서 이미지 파일을 직접 실행시켰는데, PC마다 일관성이 없어 보기 좋지 않았다.
그래서 윈도우 XP에 내장된 이미지 뷰어를 이용해서 이미지 파일을 출력하기로 방향을 수정.
Visual C++에서 이런 식으로 윈도우에 내장된 이미지 뷰어를 사용하려면 아래와 같은 짤막한 코드면 충분하다.
처음엔 그냥 ShellExecute() 함수에서 이미지 파일을 직접 실행시켰는데, PC마다 일관성이 없어 보기 좋지 않았다.
그래서 윈도우 XP에 내장된 이미지 뷰어를 이용해서 이미지 파일을 출력하기로 방향을 수정.
Visual C++에서 이런 식으로 윈도우에 내장된 이미지 뷰어를 사용하려면 아래와 같은 짤막한 코드면 충분하다.
csPNG에 이미지 파일의 full path가 들어있다고 가정함.
CString csParam;
csParam.Format(_T("shimgvw.dll, ImageView_Fullscreen %s"), csPNG);
ShellExecute(NULL, _T("open"), _T("rundll32.exe"), csParam, NULL, SW_SHOW);
'컴퓨터야그 > 자작' 카테고리의 다른 글
캡쳐한 거대 위성사진 쉽게 자르기 v1.1 (goohwan님 전용) (4) | 2010.03.10 |
---|---|
메르카토르 도법 지도 위에 최단경로를 그리는 프로그램 1.1 업데이트 (2) | 2009.11.07 |
Visual C++에서 윈도우 내장 이미지 뷰어 사용하는 방법 (6) | 2009.11.07 |
Visual C++ 에서 실행파일의 폴더 얻는 법 (0) | 2009.11.07 |
메르카토르 도법 지도 위에 최단경로를 그리는 프로그램 (7) | 2009.11.05 |
이제야 알게된 Property Sheet... (Oh Shit!) (11) | 2009.10.28 |
-
-
oneniner 2009.11.11 16:08
원래 ShellExecute() 함수는 잘 쓰는 함수입니다.
그냥 exe 파일을 실행할때 쓸 수 있고 게다가 여러가지 파라미터를 추가할 수 있죠~
당근 왠만한 OS는 기본지원입니다.
아마도 windows 95 이상부터 실행 가능 할겁니다... ^^-
BLUEnLIVE 2009.11.12 09:59
헉... 웬 이런 생뚱맞은 답을...
원래는 ShellExecute(NULL, _T("open"), _T("이미지 파일명"....); 이렇게 했다가
다시 ShellExecute(NULL, _T("open"), _T("rundll32.exe"), parameter....); 으로 바꿨단 얘기인데... -
oneniner 2009.11.12 11:07
내가 잘못 얘기한겐가~ ㅋㅋ 나는 ShellExecute() 함수는 어떤 OS에서도 되는거였구 마찬가지로 DLL 을 콜할 때 자네처럼 하면 어떤 OS 에서두 콜이 잘 된다구 얘기할려던 건디... ㅠ.ㅠ
-
Recent comment