프로그래밍 관련/API
API 탐방 6편. 자신의 위치를 얻어오는 GetCurrentDirectory, GetModuleFileName
API 탐방 6편. 자신의 위치를 얻어오는 GetCurrentDirectory, GetModuleFileName
2012.11.18[API 탐방] 자신의 위치를 얻어오는 GetCurrentDirectory, GetModuleFileName 실행중인 파일의 현재 작업 디렉토리를 얻어오는 GetCurrentDirectory API부터 알아보도록 하겠습니다. 아래는 GetCurrentDirectory API 함수의 원형입니다. DWORD WINAPI GetCurrentDirectory(DWORD nBufferLength, LPTSTR IpBuffer) 첫번째 인수를 살펴보면 현재 작업 디렉토리의 경로가 들어갈 버퍼의 길이, 두번째 인수로는 현재 작업 디렉토리 경로를 받을 포인터가 옵니다. 반환값으로는 성공시, 작업 디렉토리 경로의 문자열 길이를 반환하며, 버퍼값이 모자랄경우 버퍼값이 반환됩니다. 실패시 0이 반환됩니다. 한번, GetCu..
API 탐방 5편. 윈도우를 생성하고 표시하자! CreateWindow, ShowWindow
API 탐방 5편. 윈도우를 생성하고 표시하자! CreateWindow, ShowWindow
2012.11.11[API 탐방] 윈도우를 생성하고 표시하자!CreateWindow, ShowWindow 자 먼저, CreateWindow의 함수 원형을 살펴보도록 합시다. HWND CreateWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HANDLE hInstance, LPVOID lpParam); 위 원형을 보면, 첫번째 인수에는 클래스 이름이 옵니다. 전에 RegisterClass 또는 RegisterClassEx 함수로 생성된 ATOM 클래스의 포인터, 혹은 문자열이 이곳에 위치합니다. 두번째 인자로는 윈도우의 타이틀바에 나..
API 탐방 4편. 윈도우의 캡션을 설정하거나 가져오는 SetWindowText, GetWindowText
API 탐방 4편. 윈도우의 캡션을 설정하거나 가져오는 SetWindowText, GetWindowText
2012.10.21[API 탐방] 윈도우의 캡션을 설정하거나 가져오는SetWindowText, GetWindowText 자, 먼저 SetWindowText API 함수와, GetWindowText API 함수의 원형부터 살펴보도록 합시다. BOOL SetWindowText(HWND hWnd, LPCTSTR lpString); int GetWindowText(HWND hWnd, LPTSTR lpString, int nMaxCount); 제일 처음 SetWindowText의 원형 부터 살펴보자면, 첫번째 인수로는 윈도우 또는 컨트롤의 핸들이 옵니다. 그러나, 다른 응용 프로그램에서 컨트롤의 캡션은 변경할 수 없습니다. 두번째 인수로는 바꿀 문자열을 말합니다. 반환값으로는 실패하면 0이 오며, 성공하면 0이 아닌값이 옵니다. ..
API 탐방 3편. 특정 윈도우의 핸들에 메시지를 전달하는 SendMessage
API 탐방 3편. 특정 윈도우의 핸들에 메시지를 전달하는 SendMessage
2012.10.21[API 탐방기] 특정 윈도우의 핸들에 메시지를 전달하는SendMessage SendMessage API에 대해 알아보기 전에, SendMessage의 함수 원형을 먼저 살펴보도록 합시다. LRESULT SendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 원형을 살펴보자면, 첫번째 인수로는 메시지를 전달받을 윈도우 핸들을, 두번째 인수로는 전달할 메시지를, 세번째 인수로는 메시지의 부가 정보라고 말할 수 있겠습니다. 전달하는 메시지에 따라 의미가 달라집니다. 네번째 인수 역시도 메시지의 부가 정보이며, 세번째와 네번째에 있는 wParam, IParam의 기본값은 0입니다. 반환값으로는 전달되는 메시지에 따른 처리 결과가 반환됩니다. 이 Sen..
API 탐방 2편. 키의 상태를 확인하는 GetKeyState, GetAsyncKeyState
API 탐방 2편. 키의 상태를 확인하는 GetKeyState, GetAsyncKeyState
2012.10.20[API 탐방기] 키의 상태를 확인하는GetAsyncKeyState, GetKeyState 우선은 GetAsyncKeyState API에 대해 알아보기 전에 API의 원형을 먼저 살펴봅시다! SHORT GetAsyncKeyState(int vKey) 반환값은 SHORT형이고, 첫번째 인수로는 가상 키코드가 오며, 우리가 만약 VK_UP을 넘겨주면, 방향키 중 위를 가르키는 키가 눌려있나 눌려있지 않나 확인할 수 있습니다. (키가 눌려진 상태에서는 최상위 비트(0x8000)이 1이 되며, 처음 입력되었을 때는 0x8001 비트가 1이 됩니다.)(가상 키코드 목록을 보고싶으신 분들은 아래의 MSDN를 방문하셔서 참고하세요.)MSDN: http://msdn.microsoft.com/en-us/library/w..
API 탐방 1편. 최상위의 핸들을 찾는 FindWindow
API 탐방 1편. 최상위의 핸들을 찾는 FindWindow
2012.10.20[API 탐방기] 최상위의 핸들을 찾는FindWindow 먼저, FindWindow API에 대해 알아보기 전에 이 API의 원형을 한번 살펴보도록 합시다. HWND FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName); 원형에서 첫번째 인수를 먼저 살펴보면, IpClassName이 있는데, 우리가 검색 시에 사용할 윈도우의 클래스 이름을 말합니다. 만약 NULL이라면 모든 윈도우의 클래스를 검색하게 됩니다. 두번째 인수에서 IpWindowName은 윈도우의 제목을 말합니다. 이것 역시 NULL이면 모든 제목의 윈도우를 검색하게 됩니다. (대소문자는 구분하지 않습니다. 또한 부분 검색은 되지 않으며 완벽하게 일치해야만 합니다.) 만약 검색에 성공했으면 FindW..