본문 바로가기

2014/05

이동식/HD/SD 카드등 외부 메모리 삽입/제거 이벤트 감지 USB/SD 카드 가 컴퓨터에서 인식되면 이게 이동식이든 HD 든 상관없이 시스템 콜을 받게 됩니다. MFC 에서 DefWindowProc() 함수에서 메시지가 날라오는군요. DefWindowProc 함수는 MFC 메시지 함수 입니다. #include LRESULT CMyProject::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam){ // TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다. if(message == WM_DEVICECHANGE){ UINT event = (UINT)wParam; switch(event ){ case DBT_DEVICEARRIVAL :// 이동식 디스크 삽입 SetDlgItemText(IDC_S.. 더보기
MFC Folder 통체 복사 처음에 Folder를 복사 하기 위해서 모든 폴더 내부에 있는 폴더와 파일을 스캔한 후 Path를 받아오는 방식으로 했었는데 ....함께 일하시는 수석연구원님 께서 한방에 해결하는 방법을 찾아 주셨네요 ;;;( 거의다 구현 했었는데....OTL) SHFILEOPSTRUCT 구조체를 이용하여 매우 간단하게 폴더를 복사 하는 방법입니다. 동작 옵션을 달리하면 여러 기능이 가능합니다... intCopyFolder(CString szFrom, CString szTo){ SHFILEOPSTRUCT shfo; int nRet; char* pszFrom = new char[szFrom.GetLength()+1]; char* pszTo = new char[szTo.GetLength()+1]; // EmptyDirect.. 더보기
MFC 다국어 처리 다국어처리 일반적으로 MFC에서 작업을 특별히 하지 않으면 Stringtable에는 IDS_ABOUTBOX, IDP_DOCKETS_INIT_FAILED (소켓 옵션 설정시) 이 두가지 만 등록이 되어있습니다. 기본적으로 원하는 값은 순차적으로 카운트 되며 이게 곧 ID 넘버가 됩니다. 이런저런 걸 추가한 뒤 다른 언어를 하고자 할때는 다음과 같은 작업으로 손쉽게 하면 됩니다. 일단 다국어 stringtable을 위한 리소스 dll 생성 New Project --> Win32 프로젝트 --> 응용프로그램종류 : DLL / 빈 프로젝트 체크 --> 리소스파일 추가 --> stringtable 리소스 추가 (그림은 아이콘이 선택되어 있지만 String Table로 추가) 이렇게 하면 빈 프로젝트에 딴거 없이 .. 더보기