이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다.^^;
질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.
트레이 아이콘(Tray Icon) 사라지는 버그 막기
매핑 모드 사용하여 확대 축소 구현하기
인터넷 익스플로어 제어와 관련된 Knowledge Base
선택 영역에 줄번호 붙여주는 매크로
Web으로부터 컨트롤을 다운받아서 실행하는 VC예제
현재 작업중인 프로젝트의 폴더를 열어주는 매크로
로컬 폴더에 있는 DLL 사용하게 만들기
Dialog Base 프로그램을 Tray에 등록할 때 문제점
FlashWindow를 사용하여 내 프로그램의 존재를 알리자
자신의 IP 얻기
스플리터 윈도우 위치 고정하기
Dialog Box의 Control에 Tooltip넣기
타이틀 바가 없는 프로그램에 아이콘을 나오게하는 법
슈퍼 클래싱과 서브 클래싱
마지막 에러코드 Watch창으로 나타내기
네트웍 어드레스 변환 방법
CWinApp에서 명렁어 인자 분석 방법
ToolBar에서 256이상의 Color사용
특정 확장자명으로 프로그램 실행시키기
Volatile
어셈블된 코드 보기
ATOM을 이용한 프로세스간 데이터 공유
WM_COPYDATA 를 사용한 메세지 전송
TrackMouseEvent 구현하기
필요없는 warning 은 보기 시러~~
파일의 특정 부분의 warning level을 지정하기
CFileDialog에서 초기 경로명 지정하기
256색 이상의 Bitmap ImageList 만들기
List Control 에 다른 Control 넣기
초 간단!! 시스템 이미지 리스트 얻어오기
CStringArray 정렬하기
MFC Dialog Box에서 자신의 Class Name설정
사용자 정의 Common Dialog 만들기
사용자 정의 Common Dialog에서 Common Dialog자원의 위치 설정
자기 프로세스의 복사본을 만드는 방법
일반적인 Child Window 만들기
CSocket 과 CAsyncSocket에서 Thread문제
SearchPath()의 리턴값 알아보기
화면 캡쳐 소스
Dll에 breakpoint 설치하기
윈앰프처럼 TaskBar와 SystemTray 마음대로 주무루기
Winamp 처럼 벽에 붙이기
Title바 마음대로 하고 싶나요?
Toolbar안에 다른 Control넣기
문자열 검색 API
자신만의 윈도 class name을 가지자
Coverage가 90% 이하면 안돼요~~~
_ASSERTE 가 GetLastError()를 망친다
Explorer처럼 툴바에 Text 넣기
MDI(Multiple Document Interface) application에서 초기 뷰 없애기
Dll 찾는 순서
DLL 파일의 이름 알아보기
메인 프래임 윈도우에 얼굴을 부여하기
Break Pointer 는 INT 3 으로 통한다!!
두 변수의 값을 바꾸는 환상의 매크로
안전하게 free, delete하는 방법
윈도에 포커스가 가지 못하게 하기
TreeCtrl 에서 Context Menu 사용하기 -번역은 나중에
랭귀지 팩을 만들자!!
Visual C++ 이 만드는 파일의 의미
툴바에 Dropdown버튼 넣기
VC++의 Quick Macro
VC++에서도 Regular Expression으로 검색할 수 있다
Dll에서 제공되는 함수들 보기
공유 섹션 만들기
화면 보호기 제어하기
바탕화면, 즐겨찾기, 내 문서 등의 패스얻기
CAsyncSocket 에서 도메인 주소 바로 사용하기
bool과 BOOL의 차이
TRACE를 잠깐 못쓰게 만드려면
DirectX에서 리턴값 확인은 FAILED매크로를 사용하도록 하자
DirectDraw에서 Control Box 사용하기
CFrameWnd가 아닌 윈도우에서 툴바의 툴팁 출력하기
Dialog Bar 만들기
Toolbar에 버튼 추가하기
화면 정보 얻어오기
절전 기능 및 화면 보호기 제어하기
절전 모드로 진입을 거부하는 방법
Console 프로젝트와 Windows 프로젝트 바꾸기
Ansi 문자열과 Unicode 문자열 바꾸기
문자열을 _T() 형으로 바꿔주는 매크로
Resource ID 이름 짓는 방법
Little or Big Endian
Alt+F4 키로 종료되는거 막는 방법
프로그램내에서 한/영 전환하기
pair 라는 것의 용도는?
WORD 특정 비트값 알아내기
일반적인 윈도우 소멸 순서
메모리 DC 사용하기
DirectDraw에서 256색 Bitmap 간편히 사용하기
Source Safe과 Project를 분리시키기
실수(소수점) 나누셈 연산을 정수 연산으로 하기
프로그램안에서 Registry 이름 지정하기
특정 Registry Key안의 Value값 가져오기
Registry에 File Icon등록해주기
'객체 삽입' 상자 없이 객체 삽입하기
윈도우즈 강제로 종료하기
재밌는(?) 시스템 강제로 다운시키기
Document없는 CRichEditView에 Ole객체 삽입 막기
비교 연산자를 위한 예약어들
Dialog Based 프로그램에서 가속키 기능 넣기
투명한 윈도우 만들기 (w2k만)
현재 실행되고 있는 자신의 경로와 파일명 가져오기
프로그램 한번만 실행하기
MFC 모듈의 상태 데이터 관리하기
Dialog Based 프로그램에서 '최근 사용한 파일 목록' 메뉴 넣기
Override를 통해 잃어버리는 것들
특정 파일의 Property 창 띄우기
Serialize를 이용한 객체 복사하기 (Copy constructor)
CWinThread로 UI Thread 만들기
Socket에서 완벽한 Receive처리
[API/SHELL] 디스크 복사 및 포맷...
[API/SHELL] 프로그램 추가 삭제 / 원도 구성 요소 추가 다이얼로그 띄우기
원하는 확장자파일만 지우기
CEdit control의 font 바꾸기
연결 프로그램 찾기 다이얼로그 띄우기
Visual Basicⓡ처럼 property 다루기
Func()
[ATL] 새로운 인터페이스 추가하기
생성자 두 번 호출되는 버그
LastError를 보여주는 Debugging Trace Macro
할당된 블록의 크기 구하기
[Win32/C++]템플릿을 이용한 동기화 클래스 만들기
Visual Studio Macro
auto_ptr
explicit
Unicode/MBCS(DBCS)/ANSI/TCHAR
String Conversion Macro
upper_bound/lower_bound
stringstream
CD Rom 드라이브 구하기
WebBrowser 로 부터 키보드 메세지 가로채기
CDROM Insertion / Removal 감지하기
입력 컨트롤에서 허용하는 문자를 제한하려면
History ComboBox
HBITMAP을 BMP 파일로 만들어 주는 함수
FTP 로 파일 전송하기
ATL Browser - SmileBrowser v0.1
레지스터 설명
어셈블러 쉽게 쓴 강좌
내가 만든 타입 자동으로 확장하기
watch 창에서 심볼의 출력 타입 정해주기
Thread 생성시 어떤 API를 사용해야 하는가?
LAN에 연결된 모든 스테이션에 broadcasting하기
ActiveX를 무조건 다운로드 하게 하기
ATL Debugging Support #1
웹페이지가 이동될때 진입하는 함수
GetMessage() PeekMessage()
based addressing
다이얼로그 리소스의 실제 크기 얻기
문자열에서 드라이브,디렉토리,파일이름, 확장자 정보 가져오기
Bitmap 이미지 resizing 하기
프로파일링(Profiling) 기능 활용하기
template으로 구조체 초기화 하기
사용하지 않는 인자에 대한 warning 없애기
포인터 변수를 검증하기위한 매크로
#define 보다는 const와 inline을 사용한다.
malloc과 free 보다는 new와 delete를 사용한다.
메모리가 모자랄 경우에 대비한다.
operator new 와 operator delete 작성시 관례를 따른다.
캐럿의 위치 알기
URL을 파싱하자
Lite control에서 이벤트가 가능하게 하기
소스로 바로가는 TRACE
Watch 창에서 함수 실행하기
파일로 트레이스 하도록 바꾸기 (3줄이면 됨)
MFC에서 NULL을 비교하는 것은 의미가 없다.
Floating-Point Error가 Exception을 발생하도록 만들기
First-chance exception 에서 Stop 하도록 만들기
exception 클래스 확장하기
INF file Architecture
GUID 생성하기
VC의 IDE를 편하게 쓰는 도구[1]
VC의 IDE를 편하게 쓰는 도구[2]
new의 정상 형식을 감추지 않는다.
operator new를 작성한다면 operator delete도 작성한다
동적으로 할당되는 메모리를 갖는 클래스를 위해서는 복사 생성자와 치환 연산자를 선언하라.
생성자에서 치환보다는 초기화를 사용한다.
클래스에 선언된 순서에 따라 멤버 초기화 리스트에 멤버들을 나열한다
Edit 컨트롤에서 Tab 키 넣기
[VB] QueryInterface하는 방법
[ActiveX] VBScript에서는 QueryInterface가 않된다.
[ActiveX] VBScript에 User-Define Interface 노출하기
ATL 디버깅 정보 출력하기
[ActiveX] 키보드 메세지 받기
OLE Activation 될때 컨테이너의 툴바 살리기
인터넷 Short-Cut 만들기
StrouStrup의 좋은 기사 3개 Link
WTL 3.1
WTL 도움말
CreateFile 이용시 주의사항
DLL 로드 시간 성능 최적화 하기
GUID를 문자열로... 문자열을 GUID로
트레이 메뉴가 사라지지 않을때
대용량의 파일 순식간에 읽기
Error LNK2001: '_WinMain@16': Unresolved External Symbol
Hatch 가 밀려나오는 브러시 수정하기
Brush 의 패턴을 사용하여 스킨 구현하기
ATL Object가 한글 폴더 있으면 등록 안되는 버그
ActiveX 컨트롤에서 사용할 디지털ID 발급 받는 방법
[VB] 패키지 마법사 최적화 하기
MFC 라이브러리에 동적으로 링크된 정규 DLL
원격 디버깅 하기
왼쪽에 이미지 들어가는 메뉴추가하기
2000 에서 나오는 파일 저장 다이얼로그 사용하기
콤보박스나 에디터 상자에서 입력 자동 완성 기능
폴더내의 dll 한 번에 등록하기
폴더 선택 다이얼로그 사용하기
윈도우즈 작업 관리자 기능 살펴보기
Delayload 적용시키기 (매우 쉬움)
Dll Rebase 시키기 (역시 쉬움)
Win32 버퍼 오버플로어 관련 문서
local folder에 있는 dll 사용하게 만들기
ActiveX Control을 View에서 사용하기
Web으로부터 컨트롤을 다운받아서 실행하는 VC예제
인터넷 익스플로어 제어와 관련된 Knowledge Base
w2k에서 Process Tree 보기
줄번호 매겨주는 매크로 입니다.
DbgChooser from Bugslayer
특정 컨트롤에서 한글을 입력받고 싶지 않을때
홈페이지 소스 가져오기
OPCODE 설명서
ASCII 코드 설명서
inline assembly에서는 C++맴버변수로 접근 불가
Unicode Conversions in Visual C++
실행 파일(바이너리)에서 파일 이름 가져오기
디버깅 관련 KB(Knowledge Base) 모음집
디버깅 관련 책 정보
Coding Techniques and Programming Practices
The Basics of Programming Model Design
[ActiveX] automation을 편하게 쓰는팁
IME 입력기 예제입니다.
특정 DLL 을 사용하는 프로그램 알아보기
[ATL] 나한테 연결했나?
인터넷에 연결되어 있는지 알아보기
파일 사이즈 별로 단위를 나누어서 출력하기
아스키 코드의 재미난 연산
이런 코드는 피하고 싶다
윈도우가 리사이즈될때 다시 그려야 하는 영역 얻기
Visual C++ 이 사용하는 확장자 살펴보기
질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.
글수 138
[MFC 알아두면 좋은것들]
- 함수의 호출 규약에 대해서 알아봅시다
- WaitCursor가 만들어지지 않는 경우
- Capture가 되지 않는 경우
- Queue를 함께 씁시다
- SendMessage는 어떻게 작동하는가?
- 친절한 메세지 ( benign message )
- 복잡한 ActiveX Control 라이센스 간단히 얻기
- LHCTRACE( light-weight!!!)
- LHCTRACE
- Advanced Breakpoint
- DECLARE_DYNCREATE()와 IMPLEMENT_DYNCREATE()
- TLS(Thread Local Storage)
- CreateWindow()
- Top 윈도우들의 핸들을 알수 없을까?
- 호출 관행
- C++에서 Internal Linkage를 갖는 몇 가지
- 배경이 투명한 Bitmap 그리기
- VC++에서 RTTI 사용하기
- OLE를 이용한 Drag and Drop
- 콜백함수의 구현
- 프로세스의 초기화와 종료 기다리기
- 향상된 RichEdit control (RICHEDIT20A)
- PowerPoint 파일을 Image 파일로 변환하기
- 실행파일 또는 DLL에서 파일버전 정보를 가져오는 방법
- CEdit - 리소스에서 파일을 여는 방법
- IPicture를 이용한 JPG, GIF, BMP, WMF, EMF, ICO 보기
- Child윈도를 Popup시키는 방법
- Set Next Statement 를 통해서 디버깅 하기
- 스레드에 이름 지어주기
- 툴바의 툴팁을 내가 원하는데로
- 정렬과 탐색 루틴이 필요하신 분
- 데이터 암호화 방법
- Dialog Base에 UpdateCommandUI Handler를 달자.
- Popup Menu에 UpdateCommandUI handler동작 시키기
- 함수대신 function object를 대입하자
- koenig lookup
- Win32 multithreading Performance
- 실행중인 자신의 파일의 fullpath를 정확히 알아내기
- ATL에서 error LNK2001: unresolved external symbol _main 해결하기
- Winsock 2.0 에 관련된 몇가지 것들
- Winsock 2.0의 단점들
- none MFC에서 memory leak난 부분 찾기
- ATL - warning MIDL2039 의 버그
- apartment간의 marshaling
- apartment 모델에 관한 이야기
- #File Error#
- DLL 에 대해서 알아보자.
- Simulating Dynamic Binding
- HANDLE 의 정체!!
- 특정 URL의 파일을 다운로드하기
- dll을 모든 프로세스에 로드시키기
- 특정 Port 가 사용중인지 알아보는 방법
- 스택에 동적으로 메모리 할당하기
- ActiveX 컨트롤로부터 URL 알아내기
- 프로그램의 수행 속도를 개선하는 방법
- 힙: 장점과 단점
- socket을 옳바르게 닫기
- release 에서 _set_new_handler() 가 동작하지 않는 경우
- Windows Structured Exceptions을 C++ Exceptions로 바꾸기
- if문을 사용한 경우와 Exception handling을 사용한 경우의 비교
- dispinterface의 특성
- 치명적인 오류가 발생하였을 때 프로그래머에게 알리기
- API hooking ( Dll 바꿔치우기~)
- 메모리 패킹
- VC++ 에서 OCX 내의 함수 직접 호출하기
- ActiveX 컨트롤 사용하지 않고 프로그램 실행하기
- ActiveX 컨트롤 설치할때 inf 파일에서 dll 순서 중요
- C 에서 최적화된 프로그램 만들기
- regsvr32.exe 를 사용하여 ActiveX 컨트롤 등록시 주의점
- PHP나 ASP 코드 직접 호출하기

