본문 바로가기
반응형

MFC90

[개발/MFC] WM_TIMER 예제 [MFC] WM_TIMER 예제 // Message Map BEGIN_MESSAGE_MAP(CDlgDlg, CDialog) ... ON_WM_TIMER() END_MESSAGE_MAP()...// Timer ID constants. const UINT ID_TIMER_ONE = 0x1001; const UINT ID_TIMER_TWO = 0x1000;// Start the timers. void CDlgDlg::StartTimer() { // Set timer for Minutes. SetTimer( ID_TIMER_ONE, 60 * 1000, 0 ); // Set timer for Seconds. SetTimer( ID_TIMER_TWO, 1000, 0 ); }// Stop the timers. voi.. 2012. 5. 2.
[개발/MFC] Sleep()함수 대신 프로그램 딜레이 시키기 [개발/MFC] Sleep()함수 대신 프로그램 딜레이 시키기 개발을 하다가 보면... 어떤 조건이 true가 될 때까지 기다려야 할 때가 있다. 그렇게 하려면 loop를 사용해야한다. 그리고 대기함수인 Sleep() 함수를 사용하게 되는 경우가 생기는데 이 함수를 사용하면. 모든 메세지 처리가 중단되기 때문에 프로그램 응답 없음과 같은 애매하고 난감한 사항에 처하게 된다. 그래서 이 Sleep()이라는 함수 대신에 프로세스나 쓰레드에서 사용되는 메세지는 처리되면서 특정조건이 만족할 때까지 기다릴 수 있는 함수가 필요하다. 대기시간 동안 메세지큐에서 메세지를 확인하여 처리하면서 기다리게 해준다. /////////////////////////////////////////////////////////////.. 2012. 5. 2.
[개발/MFC] "다음 계정으로 실행" 나오지 않게 만들기 [개발/MFC] "다음 계정으로 실행" 나오지 않게 만들기 VS2008이나 다른 개발 툴에서 개발을 할 때 UAC 실행 수준을 아래와 같이 설정해 주어야 한다. 개발을 할 때 외부프로그램 실행에 대해서 Windows XP 버전과 Vista를 포함한 이상 버전에 대해서 처리도 필요하다. "runas" 라는 옵션을 사용하면 처리가 된다. 그렇지 않으면 아래와 같은 화면이 나타난다. 2012. 4. 10.
[개발/MFC] MFC 팁 54개 1. DC얻기 CClientDC dc(this); 2. Client 영역 구하기 GetClientRect(&rect); WM_SIZE 메시지발생후 cx,cy 사용 3. 문자열 사각형안에 그리기 pDC->DrawText(문자열,사각형,Style); Style : DT_BOTTOM - 문자열을 사각형 맨아래줄에배열 반드시DT_SINGLELINE과 함께사용 DT_CENTER - 문자열을 가로중앙에 배치 DT_VCENTER - 문자열을 세로중앙에 배치 DT_LEFT,RIGHT - 문자열을 좌,우로 배치 DT_SINGLELINE - 문자열을 한줄로만 쓴다 4. Brush 사용법 CBrush brushname(RGB(red,green,blue)); //브러쉬 생성 //이전Brush 저장, 새로운 Brush 선택 C.. 2012. 4. 3.
[개발/MFC] 프로세스 죽이기 프로세스 죽이기 Kernel32.dll 에 있는 ExitProcess()라는 함수에 대한 포인터를 얻고 이를 CreateRemoteThread()를 이용하여 프로세스를 호출하고 스스로 종료되게 하는 기능입니다. BOOL SafeTerminateProcess(HANDLE hProcess, UNIT uExitCode) { DWORD dwTID, dwCode, dwErr = 0; HANDLE hProcessDup = INVALID_HANDLE_VALUE; HANDLE hRT = NULL; HINSTANCE hKernel = GetModule Handle("Kernel32"); BOOL bSuccess = FALSE; BOOL bDup = DuplicateHandle(GetCurrentProcess(), hPr.. 2012. 4. 3.
[개발/MFC] 문자열 변환 BSTR to CString, CString to BSTR, BSTR to char* [개발/MFC] 문자열 변환 BSTR to CString, CString to BSTR, BSTR to char* VC++ , MFC에서 문자열 변환 정말 까다롭다. 더군다나 유니코드 모드는 조금더 까다로운것 같다. 아래 예제가 도움이 될 것이라 생각된다. // Convert BSTR to CString BSTR bsName; CString csName; USES_CONVERSION; csName = OLE2A(bsName); // Convert CString to BSTR BSTR bsName; CString csName; bsName = csName.SysAllocString(); // create an OLE string BSTR bstr = ::SysAllocString(L"Golf is fun!.. 2012. 4. 3.
반응형