프로그래밍 언어/WinApi
-
Visual Studio 2019 한글 형식(인코딩). 유니코드, EUC-KR프로그래밍 언어/WinApi 2020. 7. 28. 10:17
문자를 입력 받았을 경우, 한글인지 아닌지 판별하기 위하여 작업 도중, WCHAR, char의 한글 형식을 같은 유니코드를 사용하고 있는 줄 알았으나 값이 다르게 나와서 찾아 보았다. 한글의 형식은 컴파일러마다, 운영체제마다 다르다고 한다. Window10, Visual Studio 2019의 환경에서 WCHAR 형은 유니코드를 사용하고 char 형은 EUC-KR을 사용하는 것 같다. ex) //WCHAR eee[20] = TEXT("가나하"); unsigned char eee[20] = "가나하"; unsigned char eee1; unsigned char eee2; eee1 = *((unsigned char*)eee + 0); eee2 = *(((unsigned char*)eee) + 1); Tex..
-
win32api 서브클래싱, 전역클래싱, 슈퍼클래싱프로그래밍 언어/WinApi 2020. 7. 27. 13:23
Tab(탭) 키로 각 차일드 윈도우간 포커스 이동을 하려고 했더니 클래싱을 사용해야할 것 같다. # 서브클래싱 서브클래싱이란 도스의 인터럽트 가로채기와 개념적으로 동일하며 윈도우 프로시저로 전달되는 메시지를 중간에 가로채는 기법이다. 운영체제 -> 서브클래스 프로시저 -> 윈도우 프로시저 서브클래스 프로시저는 메시지를 먼저 받아서 다음의 세가지 방법으로 이 메시지를 처리할 수 있다. ① 통과 : 관심 없는 메시지는 바로 윈도우 프로시저로 넘겨버린다. ② 직접 처리 : 원하는 메시지가 왔을때 중간에 메시지를 처리하고 리턴. 윈도우 프로시저로는 전달되지않는다. ③ 변형 : 메시지를 받아서 원하는 변경 후 윈도우 프로시저로 보낸다. (키입력의 변경등) 새로운 윈도우 프로시저를 생성해서 아래 함수를 통해 변경할..
-
Visual Studio 2019 win32api 아이콘 변경이 안된다프로그래밍 언어/WinApi 2020. 7. 22. 13:32
리소스에 아이콘 추가 후, 메인 클래스에 wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)); wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_ICON1)); 를 수정해도 탐색기에 표시되는 아이콘이 변경되지 않았다. 자료를 찾아도 MFC, C#은 나와있지만 win32api는 없었다. 아마 내부적으로 캐시된게 잘 처리가 안되지 않았을까... 라고 누가 그러더라.. 아래와 같이 다시 불러와 주니 바뀌었다. 프로젝트에서 기존항목을 누르고 변경할 아이콘을 선택한 후에 컴파일을 하니 바뀌었다. 다시 해보니 안된다.... 껐다 키고 뭔짓을 해야된다.....
-
Visual Studio 2019 sprintf 에러 끄기프로그래밍 언어/WinApi 2020. 7. 22. 12:05
Visual Studio 2019에서 컴파일시, sprintf 를 사용할 수 없음으로 에러가 뜰 경우 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 오류 C4996 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. MP_works C:\Users\root\Documents\Visual Studio 2019\Projects\MP_works\MP_works\MP_works.cpp 아래와 같이 대처 ---> 메뉴에 프로젝트 -> 속성..
-
윈도우즈 디바이스 드라이버 개발 방법프로그래밍 언어/WinApi 2014. 12. 18. 21:52
윈도우즈 디바이스 드라이버 개발 방법 디바이스 드라이버 개발을 처음 시작하시는 분들이 가장 많이 하시는 질문은 “ 디바이스 드라이버를 개발하려면 무엇을 어떻게 공부해야 하나요 ? ” 라는 것이다 . 일반 애플리케이션 프로그램 개발을 시작하는 경우에는 자료도 많고 , 주변에 개발자들도 많아서 공부 방법이나 자료들을 쉽게 접할 수 있는데 , 디바이스 드라이버 분야는 개발자들이 많은 분야도 아니고 , 자료도 쉽게 찾을 수도 없다 보니 입문자들에게는 어디서부터 어떻게 시작해야 할지 막막해 한다 . 간혹, 디바이스 드라이버에 열정이 있으신 분들중에는 홀로 무수한 나날을 디버깅과 테스트를 통해 개발의 고수가 되는 경우도 있다. 하지만 , 일반 개발자들은 아직도 디바이스 드라이버 개발을 위해 어떻게 준비를 해야 할지..
-
Winapi) tooltip track이 안될 때프로그래밍 언어/WinApi 2014. 11. 28. 00:16
Windows XP, 7 환경에서툴팁(tooltip)에 TTF_TRACK 속성을 줬는데도 불과하고실행되지 않을 때에는 아래와 같이 수정하면 잘 된다. ti.cbSize = sizeof(TOOLINFO); -> ti.cbSize = sizeof(TTTOOLINFOA_V2_SIZE);or -> ti.cbSize = sizeof(TTTOOLINFOW_V2_SIZE);or -> ti.cbSize = TTTOOLINFOA_V2_SIZE;or -> ti.cbSize = TTTOOLINFOW_V2_SIZE; 공동 컨트롤러의 옛 버전은 sizeof(TOOLINFO)를 사용하고5.xx 버전 이상??은 sizeof(TTTOOLINFOA_V2_SIZE)를 사용한다고 한다.버전이 바뀌면서 크기가 달라져서 그렇다고 한다.
-
영상처리 winapi 소스프로그래밍 언어/WinApi 2014. 10. 10. 10:20
--------------------------기상 방송 같은 효과-------------------------- ------- 기상 방송을 보면 아나운서가 파란 뒷 배경에서 설명하는데방송에서는 아나운서 뒤에 기상 그림이 나온다.이런 영상 효과를 내는 예제 소스이다. 웹캠이 연결되어 있어야하고같은 디렉토리 내에 image.bmp 파일이 있어야한다. #include #include "vfw.h"#pragma comment(lib, "vfw32.lib") #define BITMAP_MAXSIZE(1024*768*3+10) LRESULT CALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);HINSTANCEg_hInst;HWNDHWndMain;LPCTSTRlpszClass=TEXT("Wis..