본문 바로가기

My/works41

ActiveX 액티브엑스 설치 안될 경우 해결방안 (cab 배포 실패) ActiveX 설치 안될 경우 해결방안 이것때문에 근이틀간 굉장히 많이 고생을 했다. 직접 만들어서 배포하려는데, ActiveX 는 점차 사장되어가는 상황이다보니 자료도 거의 옛날 자료 뿐이고(액티브엑스 제작 및 배포), 현재 많이 사용하는 윈도우7, 익스플로어9.0의 보완강화로 인해 ActiveX 설치 실패하는 경우가 종종있다. 각설하고 필자가 찾은 ActiveX 설치 실패시 해결방안에 노하우이다. 1. 신뢰할 수 있는 사이트 등록 Internet Explorer – 인터넷 옵션 – 보안 탭에서 ‘신뢰할 수 있는 사이트 - 사이트’ 버튼 클릭. ‘신뢰할 수 있는 사이트’ 의 ‘영역에 웹 사이트 추가’ 항목에 액티브엑스 배포 사이트 URL을 입력하고 추가. ‘웹 사이트’ 란에 추가 되는 것을 확인한 후 .. 2013. 1. 4.
[MFC] 트레이 아이콘 (Tray Icon) 등록하기 1. 트레이 아이콘이란? 위에 보이는 작은 아이콘들을 트레이 아이콘(Tray Icon)이라고 부른다. 트레이 아이콘은 하나의 응용프로그램을 대표하면서도 적은 공간을 차지하기 때문에 매우 유용하다. 백그라운드와 같이 프로그램을 가동시킬때 매우 유용하게 사용될수 있다. 2. 트레이 아이콘 생성 예제 자 그럼 트레이 아이콘을 생성 예제를 살펴보자. 2-1) 트레이아이콘 생성 트레이 아이콘을 생성할 곳에 (특정키나 버튼 입력시 혹은 프로그램 초기화시) 다음 소스를 작성한다. NOTIFYICONDATA nid; ZeroMemory(&nid, sizeof(nid)); nid.cbSize = sizeof(nid); nid.uID = 0; nid.hWnd = m_pMainWnd->GetSafeHwnd(); nid.uF.. 2012. 12. 28.
[MFC] HotKey(핫키)를 사용하여 키보드 막기 예제소스 키보드나 마우스의 제한, 혹은 입력정보를 컨트롤(정보조작 등) 하기위해 메시지후킹을 많이 사용한다. 하지만 특정키에 대해 컨트롤 하기위해서는 WM_HOTKEY를 사용하는 것이 훨씬 간편하게 구현가능하며 이해하기도 쉽다. 그럼 프린트스크린 키(Print Screen Key)의 입력을 막는 프로그램의 소스를 살펴보자. [MainFrm.cpp] int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIP.. 2012. 12. 27.
[MFC] STOPWATCH(스톱워치) 시간 측정하기 예제소스 시간을 측정할 수 있는 StopWatch 함수에 대해 알아보자. StopWatch는 함수 등 작업의 소요시간이 얼마나 걸리는 지 측정하는 데 용이하다. 사용법은 간단하다. 1. 다음 예제를 입력하여 헤더 파일을 생성한다. [StopWatch.h] #ifndef __STOPWATCH_H__ #define __STOPWATCH_H__ #include class STOPWATCH { private: struct _timeb m_Stb; struct _timeb m_Etb; __int64 m_stime; __int64 m_etime; public: void Start() { _ftime(&m_Stb); } void End() { _ftime(&m_Etb); } __int64 TimeCheck() { m_stim.. 2012. 12. 27.
[MFC] Cstring <-> Char* 형변환 CString Char* 형 변환 하는법 CString -> Char * CString strBuffer; char szBuffer[MAX_PATH] = {0,}; int nLength = (MAX_PATH > strlen(strBuffer)) ? strlen(strBuffer) : MAX_PATH; strncpy(szBuffer, (LPSTR)(LPCSTR)strBuffer, nLength); Char * -> CString CString strBuffer; char szBuffer[MAX_PATH]; strBuffer = (LPSTR)szBuffer; 2012. 12. 26.
[MFC] 리스트컨트롤(List Control) 사용 Tip 리스트컨트롤과 관련된 몇가지 예제들을 올려봅니다. 필요한 부분만 참고해서 사용하세요. 1. 리스트컨트롤 추가. 2. 리스트컨트롤 멤버변수 추가 m_list 3. 체크박스 레이아웃 설정 m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES ); 4. 초기화 m_list.DeleteAllItems(); 5. 칼럼명 설정 m_list.InsertColumn(0, _T("번호"), LVCFMT_LEFT, 100, -1); m_list.InsertColumn(1, _T("제목"), LVCFMT_LEFT, 100, -1); m_list.InsertColumn(2, _T("작성자"), LVCFMT_LEFT, 100, -1.. 2012. 12. 26.