[Win32 API] LoadCursor Fuction

Load the cursor resource named by lpszResourceName or                                                specified by nIDResource from the current executable file. Syntax HCURSOR WINAPI LoadCursor( __in_opt HINSTANCE hInstance, __in LPCTSTR lpCursorName ); Parameter lpszResourceName : Point to a nul-terminated string that contains the name of the cursor resource. You can use a Cstring for this argument. nIDResource : ID of the cursor resource. For a list of resources, see LoadCursor in the Windows SDK. Value Meaning IDC_APPSTARTING Standard arrow and small hourglass IDC_ARROW Standard arrow IDC_CROSS Crosshair IDC_HAND Hand IDC_HELP Arrow and question mark IDC_IBEAM I-beam IDC_ICON Obsolete for applications marked version 4.0 or later. IDC_NO Slashed circle IDC_SIZE Obsolete for applications marked versi...

[Win32 API] LoadIcon Function

Load the specified icon resource. Syntax HICON WINAPI LoadIcon (   __in_opt  HINSTANCE hInstance,   __in      LPCTSTR lpIconName ) ; Parameters hInstance[optional] : A handle to an instance of the module whose executable file contains the icon to be loaded. This parameter must be NULL when a standard icon is being loaded. lpIconName : The name of the icon resource to be loaded. To use one of the predefined icons, one of the follow values. Value Meaning IDI_APPLICATION MAKEINTRESOURCE(32512) Default application icon. IDI_ASTERISK MAKEINTRESOURCE(32516) Asterisk icon. Same as IDI_INFORMATION. IDI_ERROR MAKEINTRESOURCE(32513) Hand-shaped icon. IDI_EXCLAMATION MAKEINTRESOURCE(32515) Exclamation point icon. Same as IDI_WARNING. IDI_HAND MAKEINTRESOURCE(32513) Hand-shaped icon. Same as IDI_ERROR. IDI_INFORMATION MAKEINTRESOURCE(32516) Asterisk icon. IDI_QUESTION MAKEINTRESOURCE(32514) Question mark icon. IDI_SHIELD...

[Win32 API] WINAPI - 함수호출규약

WINAPI는 함수 호출 규약으로 windef.h에 정의 되어 있다. 기본적으로 _stdcall과 _cdecl 이 있는데 , 함수를 어떤 방식으로 호출할지 결정하는지 정한다. _stdcall   함수 호출시 인자를 스택에 , 오른쪽에서 왼쪽순으로 저장한다.  func(a,b,c) 라면 스택에 c를 넣고, b를 넣고, a를 넣는다. 스택에 저장한 인자 메모리를 호출당한 쪽 함수에서 해제해 준다. _cdecl  함수 호출시 인자를 스택에 오른쪽에서 왼쪽 순으로 저장한다. _stdcall과 동일 스택에 저장한 인자 메모리를 호출한 쪽 함수 에서 해제해 준다. 윈도우즈, 베이직,파스칼등 에서는 stdcall_이 default이다.  하지만, c/c++에서는 _cdecl이 default이다.  따라서, 코딩중 Win32 API함수를 호출하는 경우에는 명시적으로 _stdcall을 써줘야한다.  예)  int   WINAPI WinMain ( HINSTANCE hInstance,                    HINSTANCE hPrevInstance,                    LPSTR lpCmdLine,                     int   nCmdShow ) ; 라고 WINAPI라고 명시하면, _stdcall로 처리된다. WINAPI를 생략하게 되면, _cdecl로 간주되어 함수를 호출하게 되면 오류가 난다. 

[Win32 API] WinMain()

Syntax _____________________________________________________________________________________ int  WINAPI WinMain ( HINSTANCE hInstance,                    HINSTANCE hPrevInstance,                    LPSTR lpCmdLine,                     int  nCmdShow ) ; _______________________________________________________________________ Parameters hInstance : Handle to the current instance of the App. hPrevInstance : Handle to the previous instance of the App.  Win32-based application, this parameter is always NULL . lpCmdLine : Point to a null-terminated string the command line for the application like c style - int main( string args[] ) nShowCmd : Specifies how the window is to be shown. This parameter can be one of the following values SW_HIDE : Hides the window. SW_SHOW : Displays the window. SW_SHOWNA : Displays a w...

windows Event에 따른 응용프로그램 동작방식

이미지
1.키보드나 마우스를 작동하면 Hardware Event가 발생한다. 2.시스템은 이것을 감지해, 해당 움직임을 메세지로 표현하여,System Message Queue로 가져온다. 3.System Message Queue에서 각 Application Message Queue로 나뉘어 들어가게 된다. 4.App. Message Queue에서 메세지를 처리하는 Message Loop로 들어가게 되고, 실질적으로 메세지들을 처리하는 Window Procedure로 들어가게 된다. Window Procedure에서 처리 하지 않은 메세지들은 Default Window Procedure에서 처리된다. 관련항목 : Event Driven 방식,Message Driven 방식

Windows OS를 구성하는 기본 DLL

Windows OS를 구성하는 기본적인 3개의 DLL(Dynamic Link Library) 커널 (KERNE32.DLL) : Windows OS의 핵심으로 메모리관리, 파일 입출력,프로그램의 로드와 실행 등 OS의 기본기능을 수행한다. GDI (GDI32.DLL) : 화면이나 프린터 같은 출력장치의 출력을 관리한다. 사용자 인터페이스 (USER32.DLL) : 윈도우, 다이얼로그, 메뉴, 커서, 아이콘 등과 같은 사용자 인터페이스 객체들을 관리한다.

windows 프로그래밍 기초 용어 정리

이미지
API  (Application Programming Interface) Application이 OS나 DataBase Management System (DBMS)등과 통신할 때 사용되는 언어나 메세지의 형식을 말한다.  Application 개발자들을 위해 제공되는 함수 집합으로 많은 종류의 API가 존재한다. 그 중 32bit인 windows 95/98,2000,NT,XP등에서 제공하는 API를 Win32 API라고 한다. 대표적인 함수로 CreateWindow(),ShowWindow(),UpdateWindow()등이 있다. SDK  (Software Development Kit) Win32 API를 이용하여 프로그램을 개발하는 도구 즉 소프트웨어 패키지로 각종 편집 툴, 라이브러리, 헤더파일,도움말,예제 프로그램들로 구성되어 있다.  대표적인 예로, VisualStudio c++등이 있다.  Windows GUI windows program들은 위와 같이 대부분 일관된 사용자 인터페이스를 제공한다.  시스템 메뉴, 메뉴바 ,툴바, 최대/최소/닫기 버튼 등으로 구성 되어있다.  사실 툴바 메뉴바 등등도 윈도우이다. 실질적으로 하나의 윈도우는 여러 윈도우의 집합이다.  Resource 메뉴,아이콘, 커서,비트맵,문자열, 버전정보 등 사용자 인터페이스를 구성하는 자원들로 읽기 전용 정적 데이터를 말한다.  리소스는 프로그램 실행중 변경되지 않는 정적 데이터이다. c/c+과 같은 언어로 관리하지 않고 Resource Script파일로 관리한다. 윈도우즈 프로그램의 큰 특징 중 하나가 소스코드와 리소스가 분리 되어 있다는 것이다.  DOS기반 프로그래밍에서는 프로그램에 쓰이는 리소스를 정의할때 배열로 불러와 저장해 사용하거나, 외부 파일로 만들어 둔 후 사용했다. 하지만 윈도우즈 프로그래밍에서는 이런 데이터들을 리소스로 만들어 놓고 소스코드와 ...