목차
저자 서문 ... 4
추천사 ... 6
이 책의 학습 로드맵 ... 7
CHAPTER 1 Windows CE 운영체제
   01 Windows CE 5.0 소개 ... 18
      마이크로소프트의 임베디드 시스템 ... 18
        Windows CE ... 18
        Windows Mobile ... 19
      Windows CE 5.0 그리고 Windows Mobile 6 ... 20
        Windows CE와 Windows Mobile의 차이점 ... 20
        그렇다면 이 책에서는? ... 22
   02 Windows CE 5.0의 특징 ... 23
      Windows CE 5.0 구조 ... 23
        OAL ... 23
        커널 모듈 ... 24
        디바이스 매니저 ... 24
        GWES 모듈 ... 24
        파일 시스템 ... 25
      Windows CE 5.0 메모리 구조 ... 25
        애플리케이션 메모리 맵 ... 26
   03 Windows Mobile 6 ... 27
      Windows Mobile 개요 ... 27
        Windows Mobile 플랫폼 3가지 종류 ... 27
        Windows Mobile 6의 특징 ... 28
        실습 : Cellular Emulator를 사용하여 에뮬레이터와 SMS 문자를 전송하는 방법 ... 30
CHAPTER 2 Windows Mobile 개발환경
   01 Windows Mobile 개발환경 구축 ... 34
      Visual Studio 2005 ... 36
        실습 : VS 2005 설치 ... 37
      Active Sync ... 41
        실습 : ActiveSync 설치 ... 42
      Windows Mobile Device Center(Windows Vista 환경) ... 45
        실습 : Windows Mobile Device Center 설치 ... 45
      Windows Mobile SDK ... 47
        Windows Mobile 6 Professional SDK ... 47
        실습 : Windows Mobile 6 Professional SDK 설치 ... 48
        Windows Mobile 6 Standard SDK ... 52
        실습 : Windows Mobile 6 Standard SDK 설치 ... 52
   02 Windows Mobile 개발환경 둘러보기 ... 53
      Native Code와 Managed Code ... 53
        Native Code 프로젝트 생성 ... 53
        Managed Code 프로젝트 생성 ... 54
      Windows Mobile 디바이스 플랫폼 선택 ... 55
      Windows Mobile 단말기에서 애플리케이션 실행 ... 56
        프로그램을 실행시킬 디바이스 선택 ... 56
        프로젝트를 빌드하고 모바일 디바이스로 Deploy ... 57
      Windows Mobile에서 제공하는 Remote Tools ... 60
        Remote File Viewer ... 60
        Remote Heap Walker ... 62
        Remote Process Viewer ... 63
        Remote Registry Editor ... 63
        Remote Spy ... 64
        Remote Zoom In ... 65
      CAB 파일 제작 및 배포 ... 65
        CAB 파일 프로젝트 생성 ... 66
        CAB 프로젝트 사용자 지정 ... 66
        프로젝트 애플리케이션을 CAB 프로젝트에 추가 ... 67
        CAB 파일에 포함될 파일 추가 ... 69
        추가한 DLL 파일을 Windows 폴더로 이동시키려면 ... 69
        레지스트리 항목을 추가하려면 ... 70
        CAB 파일 빌드 ... 70
        CAB 파일을 장치에 배포 ... 70
CHAPTER 3 Windows Mobile 애플리케이션 개발의 시작
   01 Hello World 프로그램 ... 72
      실습 : Windows Mobile 프로젝트 생성 ... 72
   02 Windows 기반 애플리케이션의 구조 ... 86
      이벤트와 메시지 ... 87
      메시지 큐 ... 88
      메시지 루프 ... 88
      윈도우 프로시저 ... 89
CHAPTER 4 그래픽
   01 그림 그리기 위해 필요한 DC ... 96
      디바이스 컨텍스트 ... 96
        화면 DC ... 96
        메모리 DC ... 97
      DC 핸들 얻는 방법 ... 97
        첫 번째 : GetDC() 함수를 이용하는 방법 ... 97
        실습 : GetDC() 함수를 이용한 DC 핸들 알아내기 ... 98
        두 번째 : WM_PAINT 메시지를 이용하는 방법 ... 100
        실습 : WM_PAINT 메시지를 이용한 DC 핸들 알아내기 ... 100
        무효영역 ... 101
        WM_PAINT 메시지 ... 102
   02 GDI ... 103
      GDI 오브젝트 ... 103
        GDI 오브젝트의 의미 ... 103
        스톡 오브젝트 ... 104
      선, 도형 그리기 ... 105
        직선 그리기 ... 105
        실습 : 직선 그리기 ... 105
        실습 : 삼각형 그리기 ... 107
        도형 그리기 ... 108
        실습 사각형 그리기 ... 110
      펜 오브젝트 ... 111
        실습 : 펜 오브젝트 설정방법 ... 112
      브러시 오브젝트 ... 113
        LOGBRUSH ... 113
        실습 : 여러 가지 펜과 브러시로 그리기 ... 114
      폰트 ... 116
        스톡 폰트 ... 116
        논리 폰트 ... 117
        실습 : 외곽선 문자열 그리기 ... 120
      비트맵 ... 125
        비트맵의 의미 ... 125
        장치 의존적 비트맵 ... 126
        장치 독립적 비트맵 ... 126
        BitBlt() 함수 ... 130
        리소스를 이용한 비트맵 그리는 방법 ... 130
        비트맵 파일을 불러서 비트맵 그리는 방법 ... 131
        실습 : BitBlt, StretchBlt, TransparentImage() 함수를 사용해서 비트맵 이미지를 나타내는 방법 ... 132
        DIB 출력 ... 138
        DIB 섹션 ... 138
        실습 : DIB 섹션으로 그리는 비트맵 ... 139
        더블 버퍼링 ... 142
CHAPTER 5 사용자 입력 도구
   01 키보드 ... 144
      가상키 코드 ... 144
      키보드 메시지 ... 145
      키보드 함수 ... 148
   02 터치 스크린, 스타일러스 ... 151
      터치 스크린 애플리케이션 ... 151
        스타일러스 메시지 이벤트 ... 151
        스타일러스 입력 캡처 ... 152
        실습 : 스타일러스를 이용한 도형 그리기 ... 154
   03 Windows Mobile Ink ... 157
      Windows Mobile Ink 개요 ... 157
      Windows Mobile Ink 응용 프로그래밍 ... 157
        Automation 라이브러리 ... 157
        Windows Mobile Ink가 제공하는 API ... 158
        Windows Mobile Ink에서 사용하는 인터페이스 ... 158
        실습 : 잉크를 텍스트로 변환하기 ... 160
        InkCanvas Control ... 165
        실습 : 여러 가지 잉크 데이터 나타내기 ... 166
   04 SIP ... 178
      SIP 정의 ... 178
        SIP의 적용 사례 ... 178
        SIP란? ... 179
      SIP 애플리케이션 ... 179
        SIP의 구성 ... 179
        입력 메서드 정보 얻기 ... 180
        입력 메서드 보이기, 숨기기 ... 180
        SIP 상태 알기 ... 181
CHAPTER 6 표준 컨트롤, 메뉴, 대화상자
   01 표준 컨트롤 ... 184
      표준 컨트롤 ... 184
        표준 컨트롤 생성하는 방법 ... 184
      버튼 컨트롤 ... 186
        버튼 컨트롤의 종류 ... 186
        푸시 버튼 컨트롤 생성 ... 186
        체크 박스 컨트롤 생성 ... 188
        라디오 버튼 컨트롤 생성 ... 191
        그룹 박스 컨트롤 ... 192
        실습 : 버튼 컨트롤 생성 및 사용 방법 ... 192
      에디트 컨트롤 ... 197
        실습 : 에디트 컨트롤 생성 및 사용 방법 ... 199
      스태틱 컨트롤 ... 204
      리스트 박스 컨트롤 ... 206
        실습 : 리스트 박스 컨트롤 생성과 사용 방법 ... 207
      콤보 박스 컨트롤 ... 212
        실습 : 콤보 박스 컨트롤의 생성과 사용 방법 ... 213
   02 메뉴 ... 215
      메뉴 생성 방법 ... 215
        메뉴 생성 ... 216
        실습 : 메뉴 생성 ... 219
        메뉴 명령 처리 ... 221
        메뉴 추가, 삭제 ... 221
        팝업 메뉴 ... 223
        실습 : 팝업 메뉴 생성 ... 226
   03 대화상자 ... 230
      대화상자 생성 방법 ... 230
        대화상자 템플릿 ... 230
        모달 대화상자 ... 232
        실습 : 모담 대화상자 생성 ... 235
        모드리스 대화상자 ... 239
CHAPTER 7 공통 컨트롤
   01 윈도우 공통 컨트롤 ... 242
      윈도우 공통 컨트롤의 정의 ... 242
        공통 컨트롤과 표준 컨트롤 비교 ... 244
        공통 컨트롤 사용 ... 245
      리스트 뷰 컨트롤 ... 245
        리스트 뷰 생성 ... 246
        리스트 뷰 스타일 ... 246
        리스트 뷰 메시지 ... 249
        통지 메시지 ... 249
        선택된 항목 알아내기 ... 250
        리스트 뷰 컬럼 생성 ... 252
        리스트 뷰 항목 추가, 삭제 ... 254
        이미지 리스트 ... 257
        실습 : 리스트 뷰 컨트롤 생성 ... 259
      프로그래스 바 컨트롤 ... 262
        프로그래스 바 컨트롤 생성 ... 262
        프로그래스 바 컨트롤 메시지 ... 262
        실습 : 프로그래스 바 생성 방법 ... 263
      스핀 컨트롤 ... 265
        스핀 컨트롤 스타일 ... 265
        스핀 컨트롤 메시지 ... 266
      커맨드 바 컨트롤 ... 267
        커맨드 바 생성 ... 267
        커맨드 바 메뉴 생성 ... 268
        커맨드 바 버튼 추가 ... 268
        실습 : 커맨드 바 컨트롤 ... 270
CHAPTER 8 Component Object Model(COM)
   01 COM 소개 ... 274
      COM 개요 ... 274
        COM 구조 ... 275
        COM 컴포넌트 ... 275
        COM 인터페이스 ... 276
        IUuknown 인터페이스 ... 276
        HRESULT의 모든 것 ... 279
        GUID의 모든 것 ... 281
   02 COM 개체 사용 ... 284
      COM 클라이언트 애플리케이션 ... 284
        COM 클라이언트와 서버 애플리케이션 ... 284
        COM 컴포넌트 등록 ... 285
        COM 클라이언트 애플리케이션 생성 과정 ... 285
      COM 라이브러리 초기화와 해제 ... 285
        COM 라이브러리 초기화 ... 285
        COM 라이브러리 초기화 해제 ... 286
      COM 개체 인스턴스 생성 ... 286
        COM 개체의 CLSID 구하기 ... 286
        CoCreateInstance() 함수 ... 287
      COM 개체 사용 ... 288
        실습 : 이미지 출력 ... 289
   03 COM 개체 ... 292
      COM 인터페이스 정의 ... 292
        IDL을 사용한 인터페이스 정의 ... 292
      COM 개체 구현 ... 295
        인터페이스 상속을 통한 COM 개체 클래스 정의 ... 295
        IUuknown 인터페이스 메서드 구현 ... 296
        COM 개체 서비스 메서드 구현 ... 297
        COM 개체 식별자 정의 ... 300
      클래스 팩토리 구현 ... 300
        COM 개체 생성 과정 ... 300
        클래스 팩토리와 IClassFactory 인터페이스 ... 301
      인-프로세스 서버 구현 ... 303
        Win32에서의 DLL ... 303
        인-프로세스 서버 구현의 개요 ... 304
        DllGetClassObject() 함수 구현 ... 305
        DllCanUnloadNow() 함수 구현 ... 306
CHAPTER 9 실무에 사용하는 컨트롤
   01 오너 드로우와 커스텀 드로우 ... 308
      오너 드로우 ... 308
        오너 드로우 컨트롤의 정의 ... 308
        오너 드로우 컨트롤의 동작 원리 ... 309
        오너 드로우 스타일 적용 ... 309
        WM_DRAWITEM 메시지 ... 309
      커스텀 드로우 ... 311
        커스텀 컨트롤이란? ... 311
        커스텀 컨트롤의 동작 원리 ... 311
        커스텀 드로우를 지원하는 컨트롤 ... 312
        커스텀 드로우 통지 ... 312
   02 오너 드로우 컨트롤 실습 ... 315
      오너 드로우 버튼 컨트롤 ... 315
        실습 : 버튼 컨트롤 오너 드로우 방법 ... 315
      오너 드로우 리스트 뷰 ... 320
        실습 : 오너 드로우로 핸드폰 메뉴 만들기 ... 320
      사용자 컨트롤 - 토글 버튼 ... 324
        실습 : 사용자 정의 토글 버튼 만들기 ... 324
      사용자 컨트롤 - TrackBar 컨트롤 ... 333
        실습 : 트랙바를 이용한 볼륨 조절기 제작 ... 333
CHAPTER 10 Today 화면과 홈스크린
   01 Today 화면 제작 ... 348
      Today 화면이란? ... 348
        Today 화면 색상 스키마 ... 348
      Today 화면 플러그-인 제작 ... 349
        DEF 파일 구성 ... 349
        플러그-인 윈도우 만들기 ... 351
        플러그-인 윈도우 메시지 ... 352
        커스텀 플러그-인 등록하기 ... 353
        실습 : Today 플러그인 생성 ... 353
   02 홈스크린 제작 ... 362
      홈스크린이란? ... 362
      홈스크린 컴포넌트 ... 363
        색 조합 ... 363
        Layout ... 364
        배경 이미지 ... 365
        COM DLL ... 365
      Windows Mobile에서 제공하는 Standard 플러그-인 종류 ... 365
        All-Day Event ... 366
        Calendar ... 367
        Carrier/SIM ... 368
        Clock ... 369
        Icon Bar ... 369
        Messaging Counts ... 370
        Missed Calls ... 371
        MRU ... 371
        Owner Info ... 372
        Profile ... 372
        Text Label ... 373
      커스텀 플러그-인 제작 ... 373
        홈스크린 인터페이스 ... 374
        나만의 홈스크린 제작 ... 375
        실습 : 홈스크린 플러그-인 제작 ... 375
      홈스크린 설치 파일 제작 ... 391
        CAB 파일 만드는 방법 ... 391
      스마트폰에 홈스크린 적용 ... 394
        실습 : 홈스크린 변경 ... 394
CHAPTER 11 DirectShow 멀티미디어 프로그래밍
   01 DirectShow 개요 ... 398
      DirectShow는 무엇인가? ... 398
      DirectShow 구조 ... 399
      DirectShow의 주요 컴포넌트 ... 400
        필터 ... 400
        핀 ... 400
        필터 그래프 ... 401
        필터 그래프 매니저 ... 401
      기본적인 인터페이스 ... 401
      Windows CE에서의 DirectShow ... 402
   02 DirectShow 프로그래밍 ... 403
      애플리케이션 개발 환경 ... 403
        Emulator에서 MP3 플레이어 제작의 한계 ... 406
      DirectShow 애플리케이션 프로그래밍 ... 407
        필터 그래프 매니저 생성 ... 407
        필터 그래프 제어 ... 408
        필터 그래프 이벤트 처리 ... 409
        이벤트 통지 사용 방법 ... 410
      따라해보는 DirectShow 프로그래밍 ... 411
        실습 : 멀티미디어 파일 실행 ... 412
        비디오 창 설정 ... 418
        실습 : 영상 미디어 실행 ... 419
        실습 : MP3 플레이어 제작 ... 421
부록 A Windows Embedded CE 6.0의 특징 ... 435
부록 B 플랫폼 빌더 ... 447
찾아보기 ... 478
닫기