반응형 C & C++444 프로그램이 실행된 폴더 구하기 /* 프로그램이 실행된 폴더를 구하는 함수 */ void GetExecFolder(CString& strPath) { char path_buffer[_MAX_PATH]; char drive[_MAX_DRIVE], dir[_MAX_DIR], fname[_MAX_FNAME], ext[_MAX_EXT]; //실행 파일 이름을 포함한 Full path 가 얻어진다. ::GetModuleFileName(NULL, path_buffer, _MAX_PATH); //폴더만 구해낸다. _splitpath(path_buffer, drive, dir, fname, ext); strPath = drive; strPath += dir; } 2011. 4. 14. [이벤트] WM_NCHITTEST 메시지로 캡션(타이틀바)가 없는 윈도우의 드래그하기 캡션(타이틀바)가 없는 윈도우의 드래그를 어떻게 할까 자료를 찾아보다가 WM_NCHITTEST 메시지를 조작하는 멋진 방법이 있어서 간략하게 이 메시지에 대해서 몇자 적어봅니다. 전 이렇게 생각했습니다. 타이틀바가 없으니 드래그는 할수가 없고 어쩔수없이 전역으로 BOOL형 플래그를 하나 두고 마우스가 눌리면 TRUE, 마우스를 떼면 FALSE로 셋하고 이 변수가 TRUE일때만 WM_MOUSEMOVE 메시지 안에서 처리하려고 했습니다. 그런데 막상 짤려고 하니 전역변수를 하나 더 둬서 마지막으로 마우스가 있던 자리를 저장해놓고 현재의 위치와 비교, 윈도우 이동 시키고.. 이런식으로 할려고 하니까 썩 내키질 않더군요. 분명히 더 근사한 방법이 있을거라 생각하고 찾아낸게 바로 WM_NCHITTEST 메시지의 .. 2011. 4. 14. [IP] 인터넷 임시파일 삭제 참고자료 : http://support.microsoft.com/default.aspx?scid=kb%3Bko%3B262110 WinInet API FindFirstURLCacheEntry()로 첫번째 캐시 항목을 찾고 FindNextUrlCacheEntry()로 캐시 전체를 나열. DeleteUrlCacheGroup()로 각 항목 삭제 ->얘들은 explorer 5이상만 사용->오류 방지 우선 wininet.lib 파일을 Link 해 주시구요. 다음 소스 코드를 참고해 주세요. GetUrlCacheEntryInfo(..) FindFirstUrlCacheEntry(..) DeleteUrlCacheEntry(..) 참조 #include // 지우고 싶지 않은 파일을 명시할 수 있습니다. // 다음 코드에서.. 2011. 4. 14. [Ctrl] 컨트롤 색상, 폰트 변경 폰트는...->그냥 다이알로그 전체에 속성을 줘도 되지만...아닌 경우, CFont m_font; 변수 선언해주고.... 초기화해주세요.... LOGFONT lf; memset(&lf, 0, sizeof(LOGFONT)); lf.lfCharSet = 0x81; lf.lfHeight = 20; strcpy(lf.lfFaceName, "궁서체"); m_font.CreateFontIndirect(&lf); m_ctrlEdit.SetFont((CFont*)&m_font, TRUE); m_ctrlBtn.SetFont((CFont*)&m_font, TRUE); 색깔은.. OnCtlColor안에 if(pWnd->GetDlgCtrlID() >= IDC_STATIC){ pDC->SetBkColor(BACK_COLOR);.. 2011. 4. 14. [Dialog] 다이얼로그에 팝업메뉴 띄우기 void CDialog::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here CMenu *pMenu, *pSubmenu; pMenu = new CMenu(); pMenu->LoadMenu(IDR_MNU_MAIN_POPUP); pSubmenu = pMenu->GetSubMenu(0); pSubmenu->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this); } ======================================== 메뉴의 체크표시 1. 메뉴에 체크표시 여부 알아내기 // MainFrame을 찾는다. CMainFr.. 2011. 4. 14. [IP] Web Page 다운로드 웹페이지를 다운로드 받아야 하는 분들이 계실지도 몰라 경험담 올릴께요. 2번 방식은 단순히 해당 사이트의 페이지를 다운로드 받는다. 하지만 해당 페이지가 캐쉬에 남아 인터넷 익스플러어로 해당 페이지를 다시읽기전까지는 자신의 캐쉬에서 페이지를 가져온다는 점이 있다. 때문에 2번 방식으로 사용할 경우 정확히 현재의(!!) 페이지를 가져오는 것이 아니다. 페이지가 수시로 바뀔 경우 우리가 인터넷 익스플로어로 페이지를 열기전까지 가장 최근에 열었던 그 때(!)의 페이지를 캐쉬에서 가지고 온다.(전 이것 때문에 버그잡느라고 하루종일 OTL...) 따라서 실제 해당 주소의 페이지를 가져오고자 할 경우 1번을 사용하는 것을 추천합니다. (물론 2번을 사용하기전에 캐쉬를 지우는 방법도 가능합니다.) /*********.. 2011. 4. 14. 이전 1 ··· 49 50 51 52 53 54 55 ··· 74 다음 반응형