[태그:] <span>WinAPI</span>

[태그:] WinAPI

[WinAPI] 디렉토리(폴더) 생성, CreateDirectory

Windows 에서 폴더 생성을 하는 코드를 만드려면 총 3개 함수를 알아야 합니다. 첫번쨰는 CreateDirectory 하지만 해당 함수는 만드려는 경로 중간에 폴더가 없다면 생성 되지 않습니다. 그래서 토큰방식으로 문자열을 분석해서 폴더 위치마다 다음 폴더가 있는지 알아야 …

[WinAPI] 외부 프로그램&파일 실행하기, ShellExecute 사용 예제

오늘은 ShellExecute 사용법을 알아보겠습니다. 함수 원형은 아래와 같습니다. 1. open – 응용프로그램 열기 ShellExecute에 카카오톡.exe가 존재하는 경로를 아래와 같이 입력하면 프로그램이 실행 됩니다. – 폴더 열기 open은 파일탐색기(explorer.exe)에 경로를 지정하여 실행 할 수 있습니다. 아래와 …

[WinAPI] GetDesktopWindow 사용하여 바탕화면 캡쳐하기

오늘은 바탕화면 전체를 캡쳐하는 방법에 대해 설명하겠습니다.HDC를 한번도 사용해본적이 없다면 여기를 한번 봐주시면 감사하겠습니다. 바탕화면을 핸들을 얻기 위한 함수는 GetDesktopWindow입니다. 프로젝트를 생성 하신 후 아래와 같이 스태틱과 버튼 컨트롤을 배치합니다. 스태틱 컨트롤 변수를 헤더파일에 아래와 같이 …

[WinAPI] CreateEvent, SetEvent, ResetEvent, WaitForSingleObject 사용 예제

안녕하세요, 오늘은 이벤트에 대해 알아보도록 하겠습니다. WaitForSingleObject 사용법은 여기를 참고해주세요. 1. 이벤트 생성 사용 예는 아래와 같습니다. 2번째 인자가 TRUE면 SetEvent함수 호출 시 계속 Signal 상태가 되고 FALSE이면 한번만 Signal 상태로 됩니다.인자의 명칭을 보면 알 …

[WinAPI] SetWindowPos

오늘은 SetWindowPos에 대해 알아보겠습니다. SetWindowPos는 HWND의 (X, Y) 좌표, 가로 세로 길이, 그리고 Z-Order를 변경할 수 있는 함수 입니다.함수 원형은 아래와 같습니다. HWND hWndInsertAfter에는 핸들 혹은 아래 값이 올 수 있습니다. 사용 값 의미 HWND_BOTTOM …

[WinAPI] SetWindowsHookEx, UnhookWindowsHookEx 키보드 마우스 후킹

오늘은 Callback 함수를 이용하여 키보드 마우스를 후킹하는 방법을 알아보도록 하겠습니다.후킹 개념은 여기를 참고해주시기 바랍니다. 간단하게 설명하자면 A->B의 순서로 호출되는 함수를 A->C->B로 만드는 겁니다. 저는 윈도우에서 제공하는 후킹 함수로, 키보드 마우스를 후킹을 해볼겁니다. 프로젝트 하나 생성해주시고, …

[WinAPI] EnumWindows, 응용프로그램 목록 얻기

윈도우에서는 수많은 응용프로그램들이 실행 되어 있습니다. 사용자가 조작하는 프로그램 말고도, 백그라운드에서 작업하고 있는 프로세스들도 많이 있죠. 현재 실행 되어 있는 프로세스의 목록을, 작업 표시줄을 보면 알 수 있습니다. 위와 똑같이는 아니더라도 응용프로그램 목록을 얻어오려면 어떻게 …

[WinAPI] EnumDisplayMonitors, 다중 모니터 정보 얻기.

원래 Callback 함수에 대해 글을 쓰려했는데, 공부 스타일이 예제를 먼저 보고 이해하는게 좋을 것 같아 Callback 예제 함수를 소개하고자 합니다.간단한 Callback 개념은 여기를 참고해주세요. Callback 함수를 아래와 같이 정의 합니다. 그리고 아래와 같이 EnumDisplayMonitors함수에 콜백함수를 …

[WinAPI] MFC를 이용한 Registry 코딩

안녕하세요 저번 글에서 프로그램에서 설정을 ini로 저장하는 방법을 해봤었는데, 이번엔 레지스트리를 만들어보는 것을 해보겠습니다. 윈도우 + R키를 눌러 Regedit를 입력하여 레지스트리 편집기를 실행시켜 봅니다. 아래 이미지처럼 실행 되면 됩니다. 이번 글에서는 제일 많이 사용하고 기본적인 HKEY_LOCAL_MACHINE에 TEST_REG를 만들어 …