Keep Going

Keep Going

[MFC] Progress Control 사용법

이번 글에서는 Progress Control 사용법에 대해 알아보겠습니다.Progress Control은 아래와 같이 사용자에게 진행률을 표시할 때 매우 직관적으로 보여주는 컨트롤입니다. MFC 프로젝트 생성후 도구상자에서 Progress Control을 추가해줍니다. Progress Control을 사용하기 전에 범위를 지정해줘야합니다. 해당 함수는 SetRange 입니다. …

[WinAPI] GetPrivateProfileSection, Section안의 모든 문자 읽어오기

이번글에서는 GetPrivateProfileSection에 대해 알아보겠습니다. GetPrivateProfileString을 사용하여 ini에 값을 읽어오는 글을 쓴 적이 있습니다.(링크)GetPrivateProfileString은 하나의 section과 하나의 key값에 대해 값을 읽어오는 것을 해봤습니다. GetPrivateProfileSection은 GetPrivateProfileString, GetPrivateProfileInt와 비슷하지만 Key가 없이 Section의 내용을 모두 읽어온다는 것이 특징입니다. 함수 …

[WinAPI] SetCapture, ReleaseCapture, 영역 밖에서도 WM_MOUSEMOVE 받기

발을 하다보면, 프로세스 영역 바깥에서는 WM_MOUSEMOVE 이벤트가 받아지지 않습니다. 이렇게 마우스가 영역 밖으로 이동했을 때 WM_MOUSEMOVE를 받고 싶으면 SetCapture, ReleaseCapture를 사용합니다.SetCaptrue 함수 원형은 아래와 같습니다. 이전에 SetCapture를 했던 HWND가 있다면 이전 HWND를 반환합니다. 없다면 NULL을 …

[WinAPI] 리틀엔디안, 빅엔디안(htons, ntohs, htonl, ntohl)

이번 글에서는 엔디안에 대해 간단히 알아보고 Visual C++에서 어떻게 변환해야하는지 알아보겠습니다. 엔디안은 컴퓨터 메모리에 연속된 대상을 배열하는 방법을 말하며 바이트를 배열하는 방법을 말합니다.엔디안은 리틀엔디안, 빅엔디안, 미들엔디안이 있으며, 리틀엔디안 빅엔디안의 차이는 아래와 같습니다. 프로세서는 CPU아키텍쳐에 따라 …

[MFC] WOL(wake on lan) 원격으로 컴퓨터 전원 켜기 구현해보기

WOL(wake on lan)은 컴퓨터가 특정 네트워크 데이터 패킷을 받으면 부팅이 되는 기능입니다.그 특정 데이터 패킷을 매직 패킷이라고 하고, 컴퓨터는 윈도우를 종료하더라도 대기 전력을 사용하여 매직 패킷을 감지합니다.매직 패킷에는 맥 주소가 일정한 규칙으로 입력되어 있는데 컴퓨터에서는 자신의 …

[WinAPI] DLL Injection – 2. 코드 예제(VirtualAllocEx)

DLL 인젝션을 하기 전에 아래 사항을 확인해 주세요 주절 주절 썼는데, 제가 이때까지 실무에서 파악한 내용입니다. 부정확하거나, 놓친 내용이 있을 수 있습니다. 자, DLL 인젝션 코드를 알아보겠습니다.우선 인젝션 작업을 할 MFCApplication1는 관리자 권한이 있어야합니다.아래와 같이 UAC 실행수준을 requireAdministrator로 …

[WinAPI] DLL Injection – 1. 개념

이번 글에서는 DLL 인젝션의 간단한 개념에 대해 알아보겠습니다. DLL 인젝션은 기본적으로 다른 프로세스의 주소 공간 내에서 DLL을 강제로 로드시키는 기술로써, 의도치 않은 코드를 실행시키는 기술입니다.보통 DLL 인젝션은 다른 프로세스가 어떤 프로그램을 의도하지않거나 예상하지 않은 기능을 수행하게 만듭니다.일반적인 프로그램은, …

[WinAPI] CreateProcess, WaitForInputIdle 함수 사용 예제

이번 글에서는 CreateProcess와 WaitForInputIdle 함수를 사용하는 방법을 알아보겠습니다. 외부 프로그램을 실행하다 보면 컴퓨터가 느리거나 해서 실행이 늦게 될 수 있습니다.그럴때 WaitForInputIdle을 사용하셔서 코딩을 하시면 편합니다.저같은 경우 카카오톡이 느리게 실행됩니다. 아래 코드는 카톡 실행 후 메시지를 …

[WinAPI] FindWindow 사용법

이번 글에서는 FindWindow에 대해 알아보겠습니다. FindWindow를 사용하시기 전 아래 헤더파일을 선언하셔야합니다. FindWindow의 함수 원형은 아래와 같습니다. FindWindow의 첫번째 인자는 클래스네임, 두번째 이름은 캡션을 입력해야합니다.하지만 꼭 두개의 인자를 입력해야 하는건 아닙니다. 둘 다 NULL로 입력해도 되고, 둘 중 …

[WinAPI] IP Address 읽어오기

이번 글에서는 IP를 읽어오는 방법에 대해 알아보겠습니다. 자신의 PC에서 IP를 확인하는 방법은 명령 프롬프트에서 확인할 수 있습니다. 윈도우+R을 눌러서 cmd를 입력하시면 명령 프롬프트가 실행됩니다. 위와 같은 화면에서 ipconfig를 입력하시면 아래와 같이 PC에 설정된 IP 리스트가 표시됩니다. 이 IP …