1. EXE의 종류
- Console App : 콘솔창을 생성한다. main, 콘솔(/SUBSYSTEM:CONSOLE)
- GUI App : 윈도우창을 생성. WinMain,Windows (/SUBSYSTEM:WINDOWS)
- Net App : CLR을 동작한다.
- Linker 옵션의 Subsytem차이 일 뿐이다.
- #pragma comment( linker, "[옵션]" )
- WhatExe ( EXE의 종류를 파악한다. )
- Console App : 콘솔창을 생성한다. main, 콘솔(/SUBSYSTEM:CONSOLE)
- GUI App : 윈도우창을 생성. WinMain,Windows (/SUBSYSTEM:WINDOWS)
- Net App : CLR을 동작한다.
- Linker 옵션의 Subsytem차이 일 뿐이다.
- #pragma comment( linker, "[옵션]" )
- WhatExe ( EXE의 종류를 파악한다. )
more..
2. Data Type
P
Pointer를 나타낸다. ( ex : PPOINT -> POINT* )
LP
32비트 Code에서는 P와 완전히 같다. WIN32에서 PSTR과 LPSTR은 같은 코드.
T,_t
T는 DBCS와 UNICODE Type을 동시에 지원하기 위한 매크로이다.(TCHAR->char,wchar_t)
W
UNICODE Type이다.
C
const를 의미한다.
STR
문자열을 나타낸다.( ex : PSTR->char*)
H
H로 시작하는 대부분의 Type은 핸들형 Type을 나타낸다.( ex : HWND, HPEN, HBRUSH )
- 윈도우 구조체의 크기를 얻는 이유( Window Version이 많아서-_-.. )
- 구조체의 크기는 조건에 따라 달라지므로 구조체에서 크기를 저장하는 변수를 가지고 있다.
3. HANDLE 개념 : 객체를 가리키는 번호, 32bit 정수(long), 고유의 번호를 가진다.
- OS는 HANDLE 번호를 만들어서 리턴해준다.
- HWND : 윈도우 번호
- HPEN : 펜 번호
- HBRUSH : 브러시 번호
4. 윈도우 만들기 GUI 윈도우 생성!!
- 모든 윈도우는 윈도우 클래스로 부터 만들어진다.
- 배경색, 아이콘, 이름, 윈도우틀(클래스).. 이 필요하다.
- 윈도우 클래스를 시스템에 등록한다.
- 등록된 클래스로 윈도우를 생성한다.
- 윈도우를 보여준다.
- 미리 가져다 쓸수 있는 등록된 클래스가 40~50개가 있다.(button, edit...)
- OS는 윈도우클래스모음 List를 가지고 이를 관리한다. 65536개를 관리 가능하다.
- OS는 HANDLE 번호를 만들어서 리턴해준다.
- HWND : 윈도우 번호
- HPEN : 펜 번호
- HBRUSH : 브러시 번호
4. 윈도우 만들기 GUI 윈도우 생성!!
- 모든 윈도우는 윈도우 클래스로 부터 만들어진다.
- 배경색, 아이콘, 이름, 윈도우틀(클래스).. 이 필요하다.
- 윈도우 클래스를 시스템에 등록한다.
- 등록된 클래스로 윈도우를 생성한다.
- 윈도우를 보여준다.
- 미리 가져다 쓸수 있는 등록된 클래스가 40~50개가 있다.(button, edit...)
- OS는 윈도우클래스모음 List를 가지고 이를 관리한다. 65536개를 관리 가능하다.
5. 윈도우 핸들
- API함수의 대부분은 핸들만 알고 있다면 윈도우를 조작가능 하다. ex) MoveWindow, Setmenu...
- 핸들을 얻을 수 있는 함수들. ex) FindWindow, WindowFromPoint
- 예제 코드 ( 계산기 자식 윈도우 )
- 예제코드 ( 계산기 자식윈도우 숨기기 )
- API함수의 대부분은 핸들만 알고 있다면 윈도우를 조작가능 하다. ex) MoveWindow, Setmenu...
- 핸들을 얻을 수 있는 함수들. ex) FindWindow, WindowFromPoint
- 예제 코드 ( 계산기 자식 윈도우 )
more..
- 예제코드 ( 계산기 자식윈도우 숨기기 )
more..