코딩 (4) 썸네일형 리스트형 Windows 10의 윈도우 캡쳐 API Windows.Graphics.Capture WinRT API로 제공됩니다. C++ 언어로 WinRT API를 호출하는 방법에는 여러 가지가 있지만, 여기서는 최신 기술인 C++/WinRT를 사용합니다. Apartment Threaded 초기화 기본 UI 스레드를 STA로 설정합니다. STA로 하지 않으면 후술하는 피커가 제대로 동작하지 않기 때문에 co_await원래의 thread로 돌아오지 않는 등 언젠가의 불편이 생깁니다. init_apartment(apartment_type::single_threaded); GraphicsCaptureItem 만들기 우선 캡처 대상이 되는 윈도우 혹은 모니터를 지정한 GraphicsCaptureItem오브젝트를 작성합니다. 이것은 전용 선택기입니다 Graphics.. Console 숨기기(백그라운드 실행) 윈도우 콘솔 프로그램 숨기기(백그라운 실행) Linker -> System -> SubSystem 에서 Console 로 되어 있으면 Windows 로 변경해주면 된다. 아니면 WIN32 Console Project가 아닌 WIN32 Project로 생성하면 자동으로 설정이 되어있다. 만약 옵션을 변경하였으면 메인 함수를 변경해줘야한다. 보통 main을 사용하였을텐데 WinMain으로 변경하고 아래와 같은 파라미터를 입력해주면 되겠다. 1 2 3 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char*, int nShowCmd) { } Colored by Color Scripter cs 주의 할 점은 console 실행 프로그램 무한반.. Makefile 만들기 Makefile 만들기 아래 같이 하면 빌드 완성이다. 아래 Makefile들은 so/a 파일들을 만들 수 있는 스크립트이다. 중요한 것은 INCLUDE폴더에는 *.h 파일들을 SRC_DIR 폴더에는 *.cpp 파일을 존재해야 한다. CC = gcc # C++ 컴파일러 옵션 CXXFLAGS = -Wall -O2 -fPIC -fexceptions -fpermissive -Wno-narrowing -pthread # 링커 옵션 LDFLAGS = -lstdc++ # 헤더파일 경로 INCLUDE = -I./include LIB_PATH = ./library # 소스 파일 디렉토리 SRC_DIR = ./source # 오브젝트 파일 디렉토리 OBJ_DIR = ./obj # 생성하고자 하는 실행 파일 이름 TARG.. MFC에서 오류나는 것 받아 볼 수 있는 방법 OCX, 프로그램(MFC)에서 Crash 발생시 메일 또는 서버에 전송 하는 방식으로 확인 할 수 있다. #include "CrashRpt.h" CR_INSTALL_INFO info; memset(&info, 0, sizeof(CR_INSTALL_INFO)); info.cb = sizeof(CR_INSTALL_INFO); info.pszAppName = _T("프로그램 이름"); info.pszAppVersion = _T("버전"); info.pszEmailTo = _T("전송될 이메일 주소@com"); info.pszEmailSubject = _T("이메일 제막"); info.dwFlags |= CR_INST_ALL_POSSIBLE_HANDLERS; m_crash = new CrAutoIns.. 이전 1 다음