본문 바로가기

About Programing

MFC Dialog 꽉찬 화면 BOOL PlayGameForm::OnInitDialog() { CDialog::OnInitDialog(); HWND m_hwnd = this->m_hWnd; LONG style = ::GetWindowLong( m_hWnd, GWL_STYLE ); style &= ~WS_CAPTION; style &= ~WS_SYSMENU; ::SetWindowLong( m_hWnd, GWL_STYLE, style ); int screenx = GetSystemMetrics( SM_CXSCREEN ); int screeny = GetSystemMetrics( SM_CYSCREEN ); // resize: SetWindowPos( NULL, -4, -4, screenx+8, screeny+4, SWP_NOZORDER ).. 더보기
MFC Dialog 에서 Enter 와 ESC Key 종료 방지 BOOL PlayGameForm::PreTranslateMessage(MSG* pMsg) { if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE) { return TRUE; } return CDialog::PreTranslateMessage(pMsg); } 더보기
MFC에서 Client 중복 실행 방지하는 방법 BOOL CARPuzzleApp::InitInstance() { CheckOverlapRun (); return FALSE; } void CARPuzzleApp::CheckOverlapRun () { CWnd* pWnd = NULL; pWnd = CWnd::FindWindow(NULL, _T("사천성 ver 0.5 - Title")); if(pWnd) // 중복 실행이 되었을 경우 { // 중복 실행 중인 프로그램 화면에 표시 pWnd->ShowWindow(SW_SHOW); pWnd->SetForegroundWindow(); } else { // 레지스트리 등록 ::GetClassInfo(AfxGetInstanceHandle(), "#32770", &wc); wc.lpszClassName = "사천성 v.. 더보기
객체지향 프로그래밍의 4대 특징 내가 객체지향을 공부했어! 객체지향 프로그래밍엔 빠삭해! XXX 객체지향 언어에 대해서는 모르는 게 없다! 이렇게 말할 수 있으려면 객체지향의 4대 특징을 이야기 할 수 있어야 하고 그 객체지향 언어가 어떤 문법을 통해 4대 특징을 지원하는 지 열거할 수 있어야 합니다. 그 만큼 객체지향 프로그래밍의 4대 특징은 객체지향의 핵심중의 핵심입니다. 객체지향 프로그래밍의 첫번째 특징은 추상화 (abstraction)입니다. 추상화라고 하는 것은 객체들의 공통적인 특징(속성과 기능)을 뽑아내는 것입니다. 즉, 우리가 구현하는 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미합니다. 그럼 추상화가 객체지향만의 특징이냐? 그렇지 않습니다. 추상화라고 하는 것은 절차지향 프로그래밍에서도 있어왔습니다. 대.. 더보기
API Hooking 출처(클릭) API후킹이란?... 1. API는 DLL파일안에 들어있습니다. API함수를 사용한다는것은 윈도우가 제공하는 DLL안에 들어있는 함수를 사용하는겁니다. 그러므로 API후킹을 한다는것은 다른 프로그램이 DLL의 함수를 사용하는것을 내가 가로채는것을 말합니다. API 후킹의 목적... 2. 가로채서? 그 다음은 그 함수의 기능을 사용하지 못하게 할수도 있고 어떻게 사용하는지 감시만 할 수도 있고 전혀 다른 내용으로 바뀌게끔 할 수도 있습니다. 그러므로 이것을 이용해서 할 수 있는 일을 두가지 정도로만 야그해보면... 3. 다른 프로그램을 디버깅하거나 리버스엔지니어링들을 위해서 사용할 수 있습니다. API함수만 알아가지고 뭘 알수 있겠냐라고 생각할 수도 있겠지만.. 사실 우리가 사용하는 모든 델파.. 더보기
C언어의 간단한 예제를 설계부터 코드화까지 (4/9) [문제 4/9] 1-100 까지의 홀수 합을 구하시오.(단, 3의 배수와 5의 배수 제외) 1. System chart 2. 수작업의 이해 숫자 1 2 3 4 5 6 7 … 홀수판단 ○ × ○ × ○ × ○ … 3의 배수가 아닌가 ○ ○ × ○ ○ × ○ … 5의 배수가 아닌가 ○ ○ ○ ○ × ○ ○ … 합 1 1 1 1 1 1 8 …3. 처리 과정 1. 100번 반복한다. 1.1 수를 센다. 1.2 홀수인지 판단한다. 1.2.1 3의 배수인지 판단한다. 1.2.2 5의 배수인지 판단한다. 1.2.3 합을 구한다. 2. 합을 출력한다. 3. 끝낸다.4. 자료명세서 number 입력받을 숫자 정수형 plus 양수 count 정수형 odd 음수 count 정수형 even 짝수 count 정수형 minus .. 더보기
C언어의 간단한 예제를 설계부터 코드화까지 (3/9) [문제 3/9] 100 장의 카드에 숫자가 입력될 때 양수의 개수와 음수의 개수를 구하고 양수 중에서 홀수와 짝수의 개수도 구하시오. 1. System chart main 함수에서 *100 이라고 표시되어있는, 자기 자신을 가리키는 화살표는, 숫자만큼 반복한다는 뜻입니다. 2. 수작업의 이해 입력 수 1 2 3 -1 -2 -3 … 양수 1 2 3 × × × … 홀수 1 × 2 × × × … 짝수 × 1 × × × × … 음수 × × × 1 2 3 …3. 처리 과정 1. 100번 반복한다. 1.1 숫자를 입력받는다. 1.2 0인지 판단한다. 1.2.1 양수, 음수를 판단한다. 1.2.1.1 양수, 음수를 세린다. 1.2.1.2 짝수, 홀수를 판단한다. 1.2.1.2.1 짝수, 홀수를 세린다. 2. 양수, .. 더보기
StarUML에서 ERD 그리는 방법 StarUML Download StarUML ERD Mod Download ERD를 다운로드 후, 압축 풀고 StarUML이 설치된 폴더의 modul 폴더에 staruml-erd 라는 폴더를 생성해서, 내용을 넣어주면 됩니다. StarUML을 실행해 보시면 Add Diagram 목록에 ER(IE)Diagram 이 추가된걸 확인하실수 있습니다. 이제 ERD를 작성하는 일만 남았습니다. 사용법은 조금만 해보시면 금방 알수있으니, 별도의 설명은 생략하겠습니다. 더보기
한글로 코딩하는 [한글 베이직 2.0] 동영상 농담삼아서 "순수 한글로만 코딩이 가능하다면 재미있지 않겠니" 라고 했더니 떡하니 DC 프로그래밍 갤러리에 링크가 올라왔다-_- 모르는 사람이 본다면 뭐 저런 고대의 프로그램이 있나 라고 할지도 모르겠지만, 조금이라도 프로그래밍에 대해서 아는 사람이 본다면 진짜 입이 떡 벌어질 것이다. 정말 대단하다. 어떻게 저런걸... 더보기
파일입출력을 이용하여 여자를 유혹하여 보자. 참 쉽죠잉 더보기