프로그래밍/WindowsAPI 스피비 2011. 6. 13. 13:39
GetCursorPos() 기능 : 마우스 커서의 좌표를 알아낸다. 헤더파일 : windows.h 문법 : BOOL GetCursorPos (LPPOINT lpPoint) 사용법 01 POINT a; 02 GetCursorPos(&a); POINT 구조체 (WTYPES.h) typedef struct tagPOINT { LONG x; LONG y; } POINT; typedef struct tagPOINT __RPC_FAR *PPOINT; typedef struct tagPOINT __RPC_FAR *LPPOINT; POINT라는 구조체 안에는, x좌표와 y좌표를 저장할수 있도록 되어있습니다. GetCursorPos(&a)를 하면, 구조체 안의 x값과 y값이 실행 당시의 x값과 y값으로 바뀝니다. Set..
프로그래밍/WindowsAPI 스피비 2011. 6. 13. 13:09
timeGetTime(), GettickCount()에 대해서 총정리 1.timeGetTime() 함수? 윈도우(운영체제)가 시작되어서 지금까지 흐른 시간을 1/1000 초 (milliseconds) 단위로 DWORD형을 리턴하는 함수다. ex) 만일 윈도우가 뜨고 1분이 지났다면 이 함수는 60,000을 리턴. (부팅 시간은 제외) 2.사용하기 timeGetTime()를 사용하고 싶으면 #include 를 선언해준다. 물론 winmm.lib도 링크시켜야 한다. 방법1. Visual Studio 상단메뉴에서 프로젝트(P) - 속성(P) - 구성속성 - 링커 - 입력으로 들어가 추가종속성에 추가. 방법2. #pragma comment(lib, "winmm.lib") 를 선언 3.구현 이제 timeGetTi..
프로그래밍/WindowsAPI 스피비 2011. 5. 31. 12:35
1.MCI Win32API에서 제공하는 PlaySound 함수는 한번에 하나의 사운드만 출력할 수 있습니다. 포맷도 wave에 한정되어 있고요. 다중채널을 지원하지 않기 때문인데 이는 DirectSound나 기타 라이브러리 등을 사용하면 해결할 수 있습니다. DirectSound는 DirectX를 배워야 하기 때문에 MCI(Multimedia Control Interface (맞나?ㅋ))를 사용해 보겠습니다. 2.사용방법 1)헤더추가 먼저 mmsystem.h 헤더를 추가합니다. 2)라이브러리 추가 그리고 별도의 라이브러리를 첨부해야 합니다. 프로젝트 속성->링커->추가종속성에서 winmm.lib를 추가해 주거나 소스코드 제일윗 부분 (#pragma once 아래)에 #pragma comment(lib, ..
프로그래밍/WindowsAPI 스피비 2011. 5. 31. 12:29
1.HRESULT 기본 in32API 혹은 MFC를 배우다 보면 HRESULT라는 반환형이 있습니다. 이는 32비트의 signed형 정수이며 COM의 규정에 정의된 것은 아니지만 COM 인터페이스에 소속된 대부분의 함수들은 HRESULT형태의 반환값을 가진다고 합니다. (물론 직접 만들어 사용하셔도 됩니다.) 어떤 함수가 HRESULT 형태를 사용함으로서 이 함수의 상태 정보를 리턴 받을 수 있게 됩니다. 사용방법은 BOOL형의 TRUE/FALSE와 마찬가지로 SUCCEEDED/FAILED를 사용합니다. BOOL형과의 차이점이 있다면 반환형이 HRESULT라고 해서 반드시 값을 리턴받지는 않아도 된다는 겁니다. CreateWindow라는 함수를 예로 들어보겠습니다. if(FAILED(CreateWindo..
프로그래밍/WindowsAPI 스피비 2011. 5. 31. 12:11
1. WM_NCHITTEST 현재 마우스 커서 위치가 윈도우의 어느 부분인지를 조사할 때 윈도우에게 WM_NCHITTEST 라는 메시지를 먼저 보낸다. 이 메시지의 wParam 은 사용되지 않으며 lParam에는 커서의 현재 좌표가 전달된다. 이 메시지를 보통 처리 하지않고 DefWindowProc 으로 전달하는데 이 함수는 lParam의 마우스 위치를 보고 윈도우의 어느 부분에 커서가 있는 조사해 다음 값 중 하나를 리턴한다. [출처] [12장] 윈도우 관리 함수 8 - WM_NCHITTEST |작성자 어른아이 ---------------------- DefwindowProc 의 리턴값 ------------------------------------- HTBORDER 크기 조절이 불가능한 경계선 HT..