본문 바로가기 메뉴 바로가기

JHB의 삽질 이야기

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

JHB의 삽질 이야기

검색하기 폼
  • 분류 전체보기 (372)
    • JHB (23)
      • IT 이야기 (4)
      • 잡다한 이야기 (19)
    • Cloud (44)
      • AWS (40)
    • Language (46)
      • C C++ (26)
      • C# (2)
      • Java (1)
      • Python (16)
    • Development (221)
      • Windows (62)
      • Mobile (72)
      • Linux (6)
      • Driver (12)
      • Firmware & HW (3)
      • Algorithm (14)
      • CM&CI&CD (14)
      • Web개발 (8)
      • Container (1)
      • Database (1)
      • Etc (26)
      • Tip (2)
    • MUSIC (17)
      • Listen (12)
      • Compose (5)
    • ETC (20)
      • Public (20)
    • TOOL/FRAMEWORK
      • MFC
      • WPF
      • GIT
    • LANGUAGE
      • C/C++
      • C#
      • Java
      • Python
  • 방명록

API (12)
[API/MFC] 레지스트리 읽고 쓰는 함수

Registry read, write. 레지스트리를 입력하거나 읽을려면 RegSetValueEX, RegQueryValueEx등을 써야하는데 들어가는 인자 셋팅하는게 귀찮다. 따라서 다음과 같이 쉽게 쓰도록 만들어주면 좋다. 우선 쓰기. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// Registry에서 string value 쓰는 함수. /// ///@param[in]hKey쓸 값이 존재하는 키, { HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, ...} 등의 값 사용. ///@param[in..

Development/Windows 2011. 6. 2. 16:14
유니코드 프로그래밍

변수 명명법 cb Count of Bytes 바이트 수 dw double word long형 정수 h handle 핸들 sz Null Terminated NULL 종료 문자열 ch Character 문자형 a Array 배열 w Word 부호없는 정수형 i integer 정수형 p,lp long pointer 포인터형 b Bool 논리형 핸들이란? 정수값 대부분의 경우 32비트값. 운영체제가 발급하며 사용자는 쓰기만 한다. 같은 종류의 핸들끼리는 절대로 중복된 값을 가지지 않는다. 정수형이므로 값을 가지겠지만 그 실제값이 무엇인지는 몰라도 상관없다. 유니코드 16비트의 단일한 값으로 지구상의 모든 문자를 표현할 수 있는 문자 코드 체계. C언어의 타입을 바로 쓰지 말고 유니코드 설정에 따라 변경되는 중간..

Language/C C++ 2009. 2. 13. 18:12
Thread 생성에 대한 간략한 코드 이것저것 모음

#include #include #include /*for _beginthreadex, _endthreadex*/ #pragma comment( lib, "ws2_32" ) unsigned WINAPI ThreadFunction(void* arg); int main(int argc, char** argv) { HANDLE hThread; DWORD dwThreadID; hThread = (HANDLE)_beginthreadex(NULL, 0, ThreadFunction, NULL, 0, (unsigned*)&dwThreadID); if(hThread == 0) { puts("_beginthreadex() error"); exit(1); } printf("생성된 쓰레드의 핸들 : %d \n",hThread..

Development/Windows 2009. 2. 10. 13:41
휠 메세지(WM_MOUSEWHEEL)가 안돼요

WM_MOUSEWHEEL은 그냥 선언한다고 되지 않아요. windows.h안의 WM_MOUSEWHEEL부분의 정의를 보면 #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) #define WM_MOUSEWHEEL 0x020A #endif 이렇게 되어있습니다. 따라서 stdafx.h에 보통 선언되어있는 #ifndef _WIN32_WINNT // Windows XP 이상에서만 기능을 사용할 수 있습니다. #define _WIN32_WINNT 0x0501 // 다른 버전의 Windows에 맞도록 적합한 값으로 변경해 주십시오. #endif 이부분에서 WINNT뒤의 값을 잘 조정해야겠지요~~ 보통 default값을 #ifndef WINVER // Windows..

Development/Windows 2009. 1. 6. 13:34
그림 확대/축소가 부드럽게 이루어 지도록 하는 프로그램

제작환경 Visual Studio 2005 C++/Win32 API 그림을 확대/축소할 때 스무스하게 이루어지도록 코딩했습니다. 더블버퍼링 예제로도 도움이 될거에요. 감사합니다. 주요코드 case WM_TIMER: switch(wParam) { case 1: if(nSampleWidth != nDestWidth) { if(bZoomMode) { nCntWidth = abs(nDestWidth - nSampleWidth); nSampleWidth+=(nCntWidth/7); } else { nCntWidth = abs(nDestWidth - nSampleWidth); nSampleWidth-=(nCntWidth/7); } } if(nSampleHeight != nDestHeight) { if(bZoomMo..

Development/Windows 2009. 1. 5. 13:38
더블 버퍼링 메모

http://www.winapi.co.kr 의 '더블 버퍼링' 강좌 부분에서 가장 눈에 띄는 부분. 이 코드에서 흔히 오해하기 쉬운 것이 있는데 메모리 비트맵인 hBit와 메모리 DC인 hMemDC와의 관계이다. GDI 출력 함수들은 반드시 DC 핸들을 요구하며 비트맵에 출력하기 위해서는 이 비트맵을 선택하고 있는 메모리 DC의 핸들이 필요하다. 그래서 화면 DC와 호환되는(=비트맵과 호환되는) hMemDC를 생성하고 여기에 비트맵을 선택한 후 출력했다. 이 DC는 어디까지나 비트맵 출력을 위한 임시 DC이므로 비트맵을 다 작성하고 난 다음에는 해제되어야 한다. 더블 버퍼링에서 내부 버퍼라고 칭하는 것은 비트맵이지 메모리 DC가 아니다. 메모리 DC는 비트맵을 선택하기 위해 잠시만 사용되는 DC일 뿐인데..

Development/Windows 2008. 12. 2. 12:11
EDIT Control 안에 있는 내용 한번에 복사하기!

Edit Control에는 WM_COPY라는 메세지가 있는데요, Edit Control에서 WM_COPY를 사용 할 경우 셀렉트된 부분을 복사하게 되지요. 하지만 셀렉트 하지 않고 Edit Control내의 모든 내용을 한번에 복사 할 수 있습니다. 이렇게~ SendMessage(Edit1,EM_SETSEL,0,-1); SendMessage(Edit1,WM_COPY,0,0); EM_SETSEL은 선택 영역의 시작과 끝점을 변경 하는 메세지인데요, wParam으로 시작점, lParam으로 끝점을 전달합니다. wParam에 0, lParam에 -1을 넣으면 전체 선택이에요 :) 아 그리고 wParam이 -1이면 선택영역을 해제하게 된답니다! p.s>Edit Control에 지정된 문자를 샥~ 하고 입력해주고..

Development/Windows 2008. 11. 13. 19:31
더블클릭 메세지 사용하기

분명히 WM_LBUTTONDBLCLK: 라는 더블클릭 메세지가 존재함에도 불구하고 더블클릭 할 경우 실행되지 않아요. 어떻게 해결해야 할까요? 윈도우를 생성할 때 style에다가 CS_DBLCLKS를 추가해 주면 됩니다~~ wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; 이렇게요~ 그리고.. 리스트박스에서 더블클릭 했을때의 메세지는 LBN_DBLCLK:인데.. 이것역시 그냥은 먹지 않아요. 역시나~ 생성할때 스타일에 LBS_NOTIFY를 써줘야 합니다. hList=CreateWindow("listbox",NULL,WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | LBS_NOTIFY,10,10,300,300,hWnd,(HMENU)..

Development/Windows 2008. 11. 13. 19:28
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
  • Serverless로 E-Commerce 만들기 ⋯
  • 갑자기 RDS CPU 점유율이 100%를 쳤다.
  • DDB Singletable 디자인
  • AWS CLI v2 에서 명령어 출력이 새 창으로⋯
최근에 달린 댓글
  • 안녕하세요~ GridCtrl 을 사용중이시라면 Ctrl⋯
  • 혹시 스태틱으로 GridCtrl 사용해서 목록이있는 그⋯
  • 헉 안돼서 계속 윈도우로만 했는데 감사합니다 복받으세용
  • 글 잘 읽고 갑니다~
Total
854,742
Today
66
Yesterday
182
링크
  • Kaspyx - Hacking
  • JHB LinkedIn
  • Dive into Deep Learning
TAG
  • Troubleshooting
  • 음악
  • source
  • 프로그래밍
  • AWS
  • NDK
  • winapi
  • driver
  • 리눅스
  • Cloud
  • jni강좌
  • gcc
  • db
  • MFC
  • jni
  • C++
  • it
  • algorithm
  • Quiz
  • Python
  • java
  • database
  • 드라이버
  • C
  • API
  • linux
  • kering
  • 안드로이드
  • android
  • Visual C++
more
«   2023/03   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
  • 2022/03 (1)
  • 2021/11 (1)
  • 2021/10 (1)
  • 2021/09 (1)
  • 2021/08 (1)

Blog is powered by Tistory / Designed by Tistory

티스토리툴바