TransparentBlt() DarkKaiser, 2010년 3월 30일2023년 9월 3일 BOOL TransparentBlt( HDC hdcDest, //DC 핸들러 int nXOriginDest, //비트맵이 그려질 X좌표 int nYOriginDest, //비트맵이 그려질 Y좌표 int nWidthDest, //출력될 비트맵의 가로 길이 int hHeightDest, //출력될 비트맵의 세로 길이 HDC hdcSrc, //비트맵을 미리 그려놓을 DC 핸들 int nXOriginSrc, // int nYOriginSrc, // int nWidthSrc, // int nHeightSrc, // UINT crTransparent //투명화 Continue Reading
_TrackMouseEvent DarkKaiser, 2010년 3월 30일2023년 9월 5일 – SetCapture() 함수처럼 마우스 이벤트를 추적할 수 있도록 해줍니다. 그러나 동작 원리를 놓고 보면 두 함수는 너무나 다른 함수입니다. 마우스가 자신의 윈도우 영역을 벗어났음을 감지하는 방법에서, SetCapture() 함수는 응용 프로그램 자신이 직접 마우스를 점유하고 계속 마우스 메시지를 수신하여 경계를 벗어났는지 검사하지만, _TrackMouseEvent() 함수는 운영체제에 자신의 윈도우를 등록하여 마우스가 자신의 영역을 Continue Reading
CTab을 이용한 탭 구현 방법 DarkKaiser, 2010년 3월 27일2023년 9월 6일 – 대화상자 기반 프로젝트라고 가정… 1. 도구상자에서 탭 컨트롤을 대화상자에 추가한 후, 컨트롤 변수로 생성한다. CTabCtrl m_Tab; 2. 탭 컨트롤을 초기화한다. m_Tab.InsertItem(0, _T("TAB1")); m_Tab.InsertItem(1, _T("TAB2")); 3. 탭 컨트롤 안에 들어갈 실제 탭 페이지를 추가한다. 탭 페이지는 새로운 대화상자를 삽입하고 속성을 Border(NONE), Style(Child)로 설정한다. 4. 추가한 탭 페이지의 클래스를 생성한 후, Continue Reading
.NET 어셈블리를 수정하여 크랙하는 방법 DarkKaiser, 2010년 3월 25일2023년 9월 6일 1. 크랙하려는 어셈블리 파일을 ildasm으로 열어서 덤프를 뜬다. 2. 저장된 파일을 열어서 어셈블리를 수정한다. 3. 수정된 어셈블리를 다시 실행 파일로 컴파일한다. ilasm /exe hoons.il /output=HOONS.exe Continue Reading
YourKit 자바 프로파일러 DarkKaiser, 2010년 3월 19일2023년 9월 5일 홈페이지 : http://www.yourkit.com/java/profiler/ Continue Reading
Effective C# 강력한 C#코드를 구현하는 개빌지침 50가지 요약 DarkKaiser, 2010년 3월 8일2023년 9월 6일 1. 데이터 멤버 대신에 항상 프로퍼티를 사용하라. 2. const(컴파일 타임 상수)보다는 readonly(런타임 상수)가 좋다. 컴파일타임 상수는 런타임 상수에 비해 다소 빠르지만 유연성이 떨어진다. 컴파일 타임 상수는 수행성능이 매우 중요하고, 상수의 값이 절대로 바뀌지 않는 경우에 한해서만 사용하는 것이 좋다. 런타임 상수와 컴파일타임 상수의 근본적인 차이는 그 값들이 어떤 방식으로 평가되는가에 Continue Reading
동적으로 폰트 파일 읽어서 컨트롤에 적용하기 DarkKaiser, 2010년 3월 6일2023년 9월 6일 PrivateFontCollection fonts; FontFamily family = LoadFontFamily(@"F:\azuki.ttf", out fonts); theFont = new Font(family, 20.0f); // when done: theFont.Dispose(); family.Dispose(); family.Dispose(); ///////////////////////////////////////////////////////////////////////////////////////// public static FontFamily LoadFontFamily(Stream stream, out PrivateFontCollection fontCollection) { var buffer = new byte[stream.Length]; stream.Read(buffer, 0, buffer.Length); return LoadFontFamily(buffer, out fontCollection); } //public static unsafe FontFamily LoadFontFamilyUnsafe(byte[] buffer, out PrivateFontCollection Continue Reading
투명 PNG 파일 로드하고 화면에 그리기… DarkKaiser, 2010년 3월 3일2023년 9월 4일 GDI+를 이용하여 PNG 파일을 로드하고 화면에 그리는 방법… // PNG 드로잉 Graphics G2(dc.GetSafeHdc()); G2.DrawImage( m_bitmap, 60, 60 , m_bitmap-GetWidth(), m_bitmap-GetHeight() ); // PNG 파일 로드 Bitmap* Cpng_test1Dlg::PngFromResource(IN HINSTANCE hInst, IN const LPTSTR pName, IN const LPTSTR pType ) { Bitmap* bitmap = NULL; HRSRC hResource = ::FindResource(hInst, pName, Continue Reading
서브버전에서 커밋시에 로그를 무조건 넣도록 만들기 DarkKaiser, 2010년 1월 26일2023년 9월 6일 저장소 폴더를 보면 hooks 라는 폴더가 보이실 겁니다. pre-commit.tmpl 라는 파일과 함께 다양한 tmpl 파일들이 보이실 겁니다. – windows 서버의 경우 – pre-commit.bat 파일을 만들고, 안에 아래의 내용을 채웁니다. @echo off :: Stops commits that have empty log messages. @echo off setlocal rem Subversion sends through the path to the Continue Reading
현재 설정 가능한 인코딩 확인 방법 DarkKaiser, 2009년 10월 29일2023년 8월 30일 출처 : http://www.voiceportal.co.kr/795 1. 현재 설정된 인코딩 설정 확인 echo $LANG 2. 인코딩 설정 해제 방법 unset LANG LANG=C 3. 현재 시스템에서 설정 가능한 인코딩 확인 방법 locale -a | grep ko Continue Reading