카테고리 없음

API - 프로그램에서 메모장 호출 및 사용 방법

도영수 2017. 5. 25. 10:18

1. 외부의 프로그램을 실행하는 방법


1) 

http://blog.danggun.net/564


2) 

http://neoplanetz.tistory.com/entry/MFC-%EC%99%B8%EB%B6%80-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%B4%EC%84%9C-ShellExcute-%ED%95%A8%EC%88%98-%EC%82%AC%EC%9A%A9


3)

http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=779



4) 사용 예시 정리

http://hizstory.tistory.com/70


위의 내용을 참고하여 


원하는 프로그램을 실행          ShellExecute(NULL, "open", "C:\\test.exe", NULL, NULL, SW_SHOW);

메모장으로 파일을  열 경우.    ShellExecute(NULL, "open", "notepad", "C:\\test.txt", NULL, SW_SHOW); 

특정 위치의 파일 실행(탐색기) ShellExecute(NULL, "open", "explorer", "/select,D:\\test\\testC", NULL, SW_SHOW);



ex) 
  ShellExecute(NULL, _T("open"), _T("notepad"), _T("D:\\ScanMaster\\UserNote.txt"), NULL, SW_SHOW || SW_RESTORE );



ShellExecuteEx 관련


 SHELLEXECUTEINFO ExeInfo;

 ZeroMemory( &ExeInfo, sizeof(ExeInfo) );
 ExeInfo.cbSize = sizeof(ExeInfo);
 ExeInfo.lpVerb = _T("open");
 ExeInfo.lpFile = strFileName;
 ExeInfo.fMask = SEE_MASK_FLAG_NO_UI | SEE_MASK_NOCLOSEPROCESS; 
 ExeInfo.nShow = SW_SHOW;

 ::ShellExecuteEx( &ExeInfo );



ShellExcuteEX( &ExeInfo ) 반환값 


성공하면 TRUE, 실패하면 FALSE ( 실패했을 경우에 GetLastError() 함수로 에러 내용 확인 ) 

 

Error Message (DWORD타입) 

 

ERROR_FILE_NOT_FOUND : 지정된 파일을 찾을 수 없습니다. 

ERROR_PATH_NOT_FOUND : 지정된 경로를 찾을 수 없습니다. 

ERROR_ACCESS_DENIED : 지정된 파일에 대한 엑세스가 거부되었습니다. 

ERROR_NOT_ENOUGH_MEMORY : 충분한 메모리가 존재하지 않습니다.



출처: http://neoplanetz.tistory.com/entry/MFC-외부-프로그램을-실행하기-위해서-ShellExcute-함수-사용 [Neoplanetz]




http://terapi.tistory.com/entry/HWND%EC%99%80-HINSTANCE%EC%9D%98-%EC%B0%A8%EC%9D%B4-API