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

[태그:] WinAPI

[WinAPI] FTP에 대하여(특징, 포트, 모드 차이점) – 1

최근에 회사에서 FTP 기능을 도입하기 위해 FTP에 대해 조사 할 일이 생겼는데, 조사한 내용을 정리하려 합니다. FTP(File Transfer Protocol)는 파일을 전송하기 위해 만들어진 프로토콜로서, 파일 전송 프로토콜이라고도 합니다.FTP는 TCP/IP 프로토콜을 가지고, 서버와 클라이언트의 사이의 파일 …

[WinAPI] GetCurrentThreadId, 쓰레드 식별자

GetCurrentThreadID에 대해 알아보겠습니다. 프로그램을 개발하고 배포를 하면 개발자도 사람이다 보니 오류가 생기는 경우가 많이 있습니다.유지보수 하는 것 또한 개발자가 해야할 일 인데, 이 경우 보통 로그를 분석하거나, Debug Output, TRACE를 사용하여 코드 분석을 많이 하게 됩니다.이것은 …

[WinAPI] 내 경로 얻기, GetModuleFileName

간혹 개발을 하다보면, 현재 실행하고있는 내 프로그램의 경로를 알아야 할 때가 있는데, 그럴 때 GetModuleFileName 함수를 사용하면 쉽게 알아낼 수 있습니다. GetModuleFileName의 원형은 아래와 같습니다. 필요한 헤더파일은 아래와 같습니다. 매개 변수에 대한 설명은 아래와 같습니다. …

[WinAPI] 현재 언어 설정 읽기 – GetUserDefaultUILanguage

오늘은 언어 설정값을 읽어오는 방법을 알아보겠습니다. 배포하는 프로그램이 다국어를 지원하는 경우, 현재 System Locale 무엇인지 알아야 합니다. 이것은 제어판 -> 시계 및 국가 -> 국가 또는 지역 -> 관리자 옵션 탭에서 시스템 로캘 변경을 눌러 알 …

[WinAPI] SetWindowDisplayAffinity, Application Content 보호

이번 글에서는 윈도우의 내용을 보호하는 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 함수 원형은 아래와 같습니다. …

[WinAPI] Compress, Decompress 압축 API 사용하기

이번 글에서는 데이터를 압축하는 Windows API를 알아보겠습니다. Compress를 사용하려면 아래 헤더파일과 라이브러리를 추가해야합니다. 압축을 위해선 우선 핸들을 만들어야 합니다. 만들어진 핸들을 이용하여 우선 압축 사이즈를 구합니다. 사이즈가 정상적으로 반환이 되면 실제 압축을 진행합니다. 압축이 모두 …

[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아키텍쳐에 따라 …