[C++] 각도, 길이로 원하는 좌표값 구하기
이번 글에서는 특정한 좌표에서 각도, 거리를 입력했을 때 좌표를 구하는 방법을 알아보겠습니다. 해당 방법을 알기 위해서 삼각함수(sin, cos)를 사용해야하는데 이 함수들은 매개변수로 라디안을 사용합니다.보통 일반적으로 사용하는 0도, 90도, 180도 등등은 60분법(Degree)이라 합니다. 그리고 라디안은 호의 길이를 이용한 호도법(Radian)을 …
이번 글에서는 특정한 좌표에서 각도, 거리를 입력했을 때 좌표를 구하는 방법을 알아보겠습니다. 해당 방법을 알기 위해서 삼각함수(sin, cos)를 사용해야하는데 이 함수들은 매개변수로 라디안을 사용합니다.보통 일반적으로 사용하는 0도, 90도, 180도 등등은 60분법(Degree)이라 합니다. 그리고 라디안은 호의 길이를 이용한 호도법(Radian)을 …
이번 글에서는 윈도우의 내용을 보호하는 Windows API 함수, SetWindowDisplayAffinity에 대해 알아보겠습니다. SetWindowDisplayAffinity 를 사용하기 위해선 아래 조건을 만족해야 합니다. Minimum supported client Windows 7 [desktop apps only] Minimum supported server Windows Server 2008 R2 [desktop apps only] Header winuser.h (include Windows.h) Library User32.lib DLL User32.dll SetWindowDisplayAffinity 함수 원형은 아래와 같습니다. …
아래와 같이 프로젝트 속성에서 명령 인수를 사용하면 쉽게 command를 전달할 수 있습니다. C, C++에서 CommandLine을 사용할 때, main의 인자값인 int argc, char *argv[]를 사용합니다. 콘솔기반 C, C++에서는 아래와 같이 사용합니다. 위 코드의 실행 결과는 아래와 …
이번 글에서는 데이터를 압축하는 Windows API를 알아보겠습니다. Compress를 사용하려면 아래 헤더파일과 라이브러리를 추가해야합니다. 압축을 위해선 우선 핸들을 만들어야 합니다. 만들어진 핸들을 이용하여 우선 압축 사이즈를 구합니다. 사이즈가 정상적으로 반환이 되면 실제 압축을 진행합니다. 압축이 모두 …
이번 글에서는 Progress Control 사용법에 대해 알아보겠습니다.Progress Control은 아래와 같이 사용자에게 진행률을 표시할 때 매우 직관적으로 보여주는 컨트롤입니다. MFC 프로젝트 생성후 도구상자에서 Progress Control을 추가해줍니다. Progress Control을 사용하기 전에 범위를 지정해줘야합니다. 해당 함수는 SetRange 입니다. …
이번글에서는 GetPrivateProfileSection에 대해 알아보겠습니다. GetPrivateProfileString을 사용하여 ini에 값을 읽어오는 글을 쓴 적이 있습니다.(링크)GetPrivateProfileString은 하나의 section과 하나의 key값에 대해 값을 읽어오는 것을 해봤습니다. GetPrivateProfileSection은 GetPrivateProfileString, GetPrivateProfileInt와 비슷하지만 Key가 없이 Section의 내용을 모두 읽어온다는 것이 특징입니다. 함수 …
발을 하다보면, 프로세스 영역 바깥에서는 WM_MOUSEMOVE 이벤트가 받아지지 않습니다. 이렇게 마우스가 영역 밖으로 이동했을 때 WM_MOUSEMOVE를 받고 싶으면 SetCapture, ReleaseCapture를 사용합니다.SetCaptrue 함수 원형은 아래와 같습니다. 이전에 SetCapture를 했던 HWND가 있다면 이전 HWND를 반환합니다. 없다면 NULL을 …
이번 글에서는 엔디안에 대해 간단히 알아보고 Visual C++에서 어떻게 변환해야하는지 알아보겠습니다. 엔디안은 컴퓨터 메모리에 연속된 대상을 배열하는 방법을 말하며 바이트를 배열하는 방법을 말합니다.엔디안은 리틀엔디안, 빅엔디안, 미들엔디안이 있으며, 리틀엔디안 빅엔디안의 차이는 아래와 같습니다. 프로세서는 CPU아키텍쳐에 따라 …
WOL(wake on lan)은 컴퓨터가 특정 네트워크 데이터 패킷을 받으면 부팅이 되는 기능입니다.그 특정 데이터 패킷을 매직 패킷이라고 하고, 컴퓨터는 윈도우를 종료하더라도 대기 전력을 사용하여 매직 패킷을 감지합니다.매직 패킷에는 맥 주소가 일정한 규칙으로 입력되어 있는데 컴퓨터에서는 자신의 …
DLL 인젝션을 하기 전에 아래 사항을 확인해 주세요 주절 주절 썼는데, 제가 이때까지 실무에서 파악한 내용입니다. 부정확하거나, 놓친 내용이 있을 수 있습니다. 자, DLL 인젝션 코드를 알아보겠습니다.우선 인젝션 작업을 할 MFCApplication1는 관리자 권한이 있어야합니다.아래와 같이 UAC 실행수준을 requireAdministrator로 …