본문 바로가기

VisualStudio.C++.C#   ( 290 )


VC++. 대화상자 윈도우 좌표 지정하기. 1. 대화상자 속성 중 "Absolute Align" True 설정해두고, 2. SetWindowPos 함수 호출하여 좌표지정. - 함수 호출예 : SetWindowPos(NULL, 100, 200, 0, 0, SWP_NOSIZE); // x좌표 100, y좌표 200 에 출력하라. - 이때 좌표란 주모니터의 좌상단 을 (0,0) 으로하는 화면 좌표 기준이며, 해당 좌표에 대화상자의 좌상단 꼭지점이 배치된다. - 함수 인자 중에 SWP_NOSIZE는 윈도우 크기는 변경하지 않는다는 설정이므로, 함수인자 중 width와 height 는 0으로 해도 됨. 3. 대화상자 실행초기 위치 지정하려면 OnInitDialog 내에서 SetWindowPos 함수 호출. 대화상자 실행이후 SetWindowPos 호출해도.. 2016. 4. 20.
VC++. 다중 모니터 , 화면 좌표 기준 . GetWindowRect 다중모니터의 좌표기준. 모니터 1개인 경우, 윈도우 영역 구하는 함수인 GetWindowRect 함수로 반환받는 CRect 는 좌상단 꼭지점을 (0,0) 으로 오른쪽 방향 +, 아래 방향 + 로 되어있다. 음수값은 없음. 모니터 2개 이상인 경우, "주 모니터"의 좌상단을 좌표원점으로 하고 주 모니터 왼쪽방향 -, 주 모니터 윗쪽 방향 - 로 된다. 예로 6개의 모니터가 있고, 주 모니터가 아래처럼 설정되어있다면, 주모니터의 좌상단이 좌표원점 (0,0). 위와 같은 모니터 배치 상황에서 프로그램 윈도우의 영역정보를 받는 함수 GetWindowRect 실행 CRect 값 확인 해보기. GetWindowRect 코드. Colored By Color Scripter™123456 // 본 윈도우의 rect 받기.. 2016. 4. 20.
VC++. 주 모니터 화면 픽셀수.바탕화면 작업영역, 작업표시줄 사이즈 구하기. 코드. Colored By Color Scripter™1234567891011121314151617181920212223242526 // 주모니터의 가로 세로 픽셀수. int screen_x = GetSystemMetrics(SM_CXSCREEN); int screen_y = GetSystemMetrics(SM_CYSCREEN); // 주모니터의 작업표시줄 제외한 영역 rect CRect rect_workarea; ::SystemParametersInfo(SPI_GETWORKAREA, 0, &rect_workarea, 0); // 작업표시줄 영역 구하기, 윈도우타이틀 Shell_TrayWnd임. HWND hWnd_TrayWnd = ::FindWindow(_T("Shell_TrayWnd"), NULL); .. 2016. 4. 20.
VC++. 프로젝트 리소스에 비트맵 추가. 프로젝트 리소스 뷰에서 우마우스 클릭하여 "리소스 추가" 창에서 Bitmap 선택하고 버튼 새로만들기 클릭(아래그림). 생성된 비트맵의 아이디 설정하고(코드내에서 참조할때 필요한것), 비트맵의 속성에서 색상수, 사이즈 지정. 용도에 맞게 정하면 됨. 아래 예는 색상 256칼라. 사이즈는 높이 16, 폭 64로 한 것. 그림 그리기. 위 비트맵 편집기에서 픽셀단위로 그려서 이미지를 만들어도 되나, 고품질 이미지를 원할 때는 이미 제작된 이미지를 복사해오면 된다. 예. 그림판에서 이미지를 열고 복사해서 VC++ 비트맵 편집툴로 붙여넣기 하면 된다(아래 예 . 칼라 24비트로 했다.) 연관정보. Picture Control 에 Bitmap 표현하기 : http://igotit.tistory.com/1106 /.. 2016. 4. 19.
MFC. CFileFind - 파일 찾기 나열 하기. CFileFind MFC CFileFind 클래스 멤버함수 이용하면, 파일 찾기, 파일이름, 파일확장자, 파일경로 정보 처리 간단하게 구현된다. 폴더 핸들링도 가능. class CFileFind : public CObject Members Public Constructors Name Description CFileFind::CFileFind Constructs a CFileFind object. Public Methods Name Description CFileFind::Close Closes the search request. CFileFind::FindFile Searches a directory for a specified file name. CFileFind::FindNextFile Continu.. 2016. 4. 17.
VC++ 2015. Windows XP Support for C++ 설치하기. 개요 Visual C++ 2015 에서 신규 프로젝트 생성시에는 Windows XP 지원 코드 생성할 일 없기에 설치하지 않아도 되나, 과거버전에서 만들어진 프로젝트가 종속성을 갖고 있는 경우 "Windows XP Support C++" 설치 해야한다. 상황 예. VC++ 2015 에서 프로젝트 열려고 하면 아래처럼 솔루션 탐색기에서 사용할 수 없음 표시되고 있고 우마우스 클릭하면 "누락된 기능 설치" 를 실행할 수 있게 메뉴가 활성화 되어있다. "누락된 기능 설치" 클릭하면 어떤 것에 종속성 있는지 보여주는데 "Windows XP support C++" 가 있어야 함을 보여주고 있다. 구체적으로 현재 열려고 하는 프로젝트에서 Windows 7.1 SDK 를 사용하고 있음을 보여주고 있다. 위 창에서 버.. 2016. 4. 12.
USB HID 라이브러리. hid.lib, hidsdi.h, hidpi.h, hidusage.h USB HID 라이브러리 hid.lib 관련 파일. 프로그램에서 USB HID 기기에 접근하기 위하여, MS사 제공 hid.lib 를 이용하는 경우 관련 4개의 파일(아래 리스트) 필수이며 개발중 프로젝트에 포함시켜야 한다. 1. hid.lib2. hidsdi.h 3. hidpi.h4. hidusage.h 상기 4개 파일 확보방법. MS사의 WDK (Windows Driver Kit ) 의 일부로써 배포되고 있다. WDK10 설치 -> http://igotit.tistory.com/727 WDK 설치하면 생성되는 폴더 C:\Program Files (x86)\Windows Kits 내에 있음. 파일 hid.lib WDK설치경로에 hid.lib 파일이 여러 폴더에 분산되어 있다.즉, 아래와 같은 경로에 h.. 2016. 4. 4.
WDK 10 (Windows Driver Kit 10 ) 설치. WDK 10 설치. Windows Driver Kit 10 설치. WDK 개요및 개발용 리소스 페이지 : https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573(v=vs.85).aspx 설치파일 다운로드주소 : https://msdn.microsoft.com/ko-kr/windows/hardware/hh852365.aspx 상기 주소에서 아래 그림의 붉박 버튼 클릭하여 바로 실행하면 된다. 설치 대화상자에서 라이센스 동의등 진행시키면 설치 진행된다. 약 10분소요됨. 설치완료한후 Visual Studio 에서 새프로젝트 만들기 실행해보면, 아래 붉박처럼 Windows Driver 형식의 프로젝트 생성가능한 상태가 된다. 본 글이 포함된 상위.. 2016. 4. 3.
__toascii. 문자의 아스키코드 받기. 프로그램에서 특정 문자에 해당하는 아스키코드 값 받는 편한 함수. 코드 예. Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 CString cst = _T("ABCDEFGH"); wchar_t * my_wchar = cst.GetBuffer() ; cst.ReleaseBuffer(); uint8_t ascii_code[8]; for(int idx = 0; idx http://igotit.tistory.com/11 ///717. 2016. 3. 16.
Visual Studio 여러 버전 동시 설치 개요 1개의 PC에 Visual Studio 여러 버전 설치 하기, 관리사항 정리. 여러 버전 예.Viisual Studio 2010 설치. http://igotit.tistory.com/144Visual Studio Community 2015 설치. http://igotit.tistory.com/454 여러 버전 설치 필요성. - Visual Studio 2010 으로 만들어둔 과거의 프로젝트들을 2015에서 재컴파일 하지 않고 2010에서 유지 보수 하고, 신규 제작 프로젝트는 Visual Studio 2015 로 하려는 경우. 여러 버전 설치 과정의 주의사항. 1. 과거 버전 먼저 설치 하고 신규 버전 설치한다. 2. 그외 딱히 문제점은 없다. 각각의 버전이 정상적으로 설치되고 정상 작동한다. Vi.. 2016. 3. 7.
C++ std::chrono, time_point, duration, system_clock, steady_clock 고정밀 시각, 시간. 개요 고정밀 시각, 시간측정용 std::chrono 는 "C++11" 이후 도입, Visual C++ 2012 이후 도입. 용어. 시각 : time point. 시간 : time interval, 2개 시각의 간격. 특징 - 고정밀(최소 시간단위 : 나노초), 편리기능 함수들. - 주요 클래스 : duration, time_point - 주요구조체 : system_clock, steady_clock - steady_clock 특징 Visual C++ 에서는 내부적으로 QueryPerformanceCounter 로 구현되어있음. monotonic. 늦게 호출된 now() 가 먼저 호출된 now() 이상의 값(같거나 더 큰 값)이 나온다는 의미. 헤더파일 #include 더보기 Include the stan.. 2016. 2. 20.
C/C++ 실수형 float, double 표준 IEEE754. 실수자료형 사용시 주의사항. 개요 C/C++ 컴파일러들 (Keil, GCC, Visual C++ 포함) 의 실수형 수(floating-point numbers, 부동소수점 수 ) "표현" 표준 IEEE754 single-precision : 32bit, float. 표현가능 값 : ±1.18×10−38 to ±3.4×1038 double-precision : 64bit, double. 표현가능 값 : ±2.23×10−308 to ±1.80×10308 IEEE754 정의 wiki : https://en.wikipedia.org/wiki/IEEE_754-1985 위키백과 : https://ko.wikipedia.org/wiki/IEEE_754 상기 표현 규칙 자체는 응용프로그램 코딩하는 경우에 활용할 일은 없으나, 표현 형식의 한계 때.. 2016. 2. 18.
VC++ MDI 초기창 뜨지 않게 MFC MDI 프로젝트 만들면 실행초기에 기본 뷰가 생성된다. 이거 안뜨게 할려면, 방법1 ..App 클래스의 InitInstance 함수 속에 있는 아래 구문 주석처리한다. 방법2. 방법1처럼 주석처리 않고, 아래 처럼 구문 추가 해도 새창 안뜸. 본 글이 포함된 상위 정리 장소. Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11 ///667. 2016. 2. 15.
VC++ MDI 프로젝트의 다중 문서 템플릿 구조에서 OnFileNew 신규추가 개요 해결 대상 문제. MFC 로 MDI 프로젝트에서 다중문서 템플릿을 마법사만으로 생성한 경우 MDI 실행프로그램 메뉴 -> 파일 -> 새로만들기 .. 클릭한 경우 (아래 그림) 아래 처럼 대화상자 "새로만들기"가 뜨면서 다중문서 템플릿중 어떤 것을 새로 만들것인지 물어본다. 본 예에서는 2종의 다중문서 템플릿이 있는 상태고,따라서 2종 중에서 어떤 것을 새로 만들지 대화창에서 물어보고 있다. 다중문서템플릿을 갖는 MDI 실행프로그램에서는 위와 같은 형식보다는 각각의 다중문서별로 메뉴에서 새로만들기를 지정할 수 있는 구조가 훨씬 편리하다. 즉, 메뉴에서 New 클릭하면 서브로 신규 생성할 문서템플릿을 선택할 수 있는 메뉴가 있고, 이것을 클릭했을대 해당하는 문서템플릿이 새로 만들어지게 한다. 구현하기... 2016. 2. 15.
UWP 설치. Universal Windows Platform Tools. UWP 설치. Universal Windows Platform Tools 설치하는 방법중 Visual Studio 2015 내에서 아래처럼 새 프로젝트 만들기 창에서 Visual C++ -> Windows 에서 보이는 "Install Universal Windows Platform Tools" 를 클릭하면 즉시 설치 가능하다. UWP를 설치하면 Visual C++ 용 뿐만 아니라, C#, Visual Basic 용 UWP도 모두 설치되는 것임. 아래 처음것 체크 선택하면 아래 2개는 필수 선택됨. window 10 sdk 가 설치되어있지 않은 경우 같이 설치된다. 총 설치 소요시간 : 약 20분. 이제 Visul Studio 실행하여 새프로젝트 만들기 창에서 보면 C++, C# 의 템플릿에 유니버셜 항목.. 2016. 2. 7.
Byte Order, Little Endian, Big Endian, MSB, LSB 개요. 2바이트 이상의 자료형을 메모리에 저장할 때 저장 최소단위 1바이트 단위 저장시 메모리 주소 작은 곳부터 LSB 먼저 저장되는지, 혹은 MSB 먼저 저장 되는지 단일하고 확고한 표준이 없고, 서로 반대되는 순서인 Little Endian, Big Endian 이 혼재되어있다. 리틀엔디안 빅엔디안 용어 자체는 걸리버 여행기에 나오는 삶은 계란 뭉퉁한 쪽을 먼저 까는 파를 빅엔디안, 뽀족한 쪽을 먼저 까는 파를 리틀 엔디안이라고 하는 것에서 가져온 용어. (참고로 나는 계란 옆구리 부터 깐다.) 메모리에 1바이트 단위 로 배치 할 때 메모리 주소의 작은 것에 최상위 바이트를 배치하는 것을 빅엔디안, 메모리 주소 작은것에 최하위 바이트를 배치하는것을 리틀 엔디안이라고 하는데... 하 ... 그냥 MSB.. 2016. 2. 7.
장치 클래스 GUID. The following classes and GUIDs are defined by the operating system. Unless otherwise noted, these classes and GUIDs can be used to install devices (or drivers) on Windows 2000 and later versions of Windows: Battery DevicesClass = BatteryClassGuid = {72631e54-78a4-11d0-bcf7-00aa00b7b32a}This class includes battery devices and UPS devices. Biometric DeviceClass = BiometricClassGuid = {53D29EF7-37.. 2016. 1. 30.
USB 연결/분리 검출, WM_DEVICECHANGE, OnDeviceChange, RegisterDeviceNotification,dht.h, 개요 PC 프로그램에서 USB 장치 연결, 분리등 장치 상태변경 감지 하기 위한 메시지 처리 방법. USB뿐만 아니라 Plug&Play 장치들에 모두 적용가능함. 구현방법 요점. 운영체제는 장치변경시 윈도우의 모든 응용프로그램(정확하게는 Top-level Window) 측으로 메시지 아이디 WM_DEVICECHANGE 를 전송하므로 이를 수신처리하면 되나, Visual C++ 의 클래스 위저드에서 WM_DEVICECHANGE 처리기 자동추가 기능 제공 안하므로 수동으로 코드 추가 해서 메시지 수신처리한다. 1. 운영체제에서 메시지 아이디 WM_DEVICECHANGE로 모든 application 측으로 장치연결, 분리 등의 상태변경 메시지를 전송한다.2. 수동으로 WM_DEVICECHANGE 받기위한 메시.. 2016. 1. 30.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5