Skip to content
DarkKaiser의 블로그
DarkKaiser의 블로그
  • 개발 관련 자료(노션)
  • Raspberry Pi(노션)
  • WD My Cloud(노션)
  • GitHub
DarkKaiser의 블로그

[글쓴이:] DarkKaiser

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
  • Previous
  • 1
  • …
  • 8
  • 9
  • 10
  • …
  • 34
  • Next

최신 글

  • AssertJ 소개testCompile ‘org.assertj:assertj-core:3.6.2’ 2017년 9월 14일
  • 자주 사용되는 Lombok 어노테이션 2017년 9월 14일
  • 유니코드 #3 2017년 9월 14일
  • 유니코드 #2 2017년 9월 14일
  • 유니코드 #1 2017년 9월 14일

최신 댓글

    카테고리

    • 개인 자료 (1)
      • 일기 (1)
    • 주절주절 (7)
    • 프로그래밍 갤러리 (16)
    • 프로그래밍 언어 (186)
      • Java (29)
      • C/C++/VC++ (114)
      • C# (11)
      • Visual Basic (6)
      • 안드로이드 (9)
      • Objective-C (5)
      • JavaScript (4)
      • JSP/Servlet (2)
      • Python (4)
      • 어셈블러 (1)
    • 개발++ (44)
      • Book (11)
        • Joel On Software (10)
      • 프로젝트 관리 (6)
      • Maven (1)
      • 디버깅 (1)
      • DirectX (1)
      • Silverlight (1)
      • RESTful (1)
      • Hacking (1)
      • WDM (4)
      • VoIP (5)
      • 기타 (1)
    • 개발 도구 (15)
      • eclipse (14)
      • Sublime Text (1)
    • 네트워크 (7)
    • 설치 및 배포 (7)
      • InstallShield (2)
      • NSIS (4)
    • 버전 관리 (9)
      • Git (2)
      • CVS (2)
      • Subversion (5)
    • 데이터베이스 (7)
      • Oracle (3)
      • Sybase (2)
      • MS-SQL (2)
    • 단위테스트 (3)
      • JUnit (1)
      • NUnit (2)
    • 버그추적시스템 (2)
      • mantis (2)
    • 운영체제 (7)
      • Windows (5)
      • 리눅스 (2)
    • WAS (3)
      • WebLogic (3)
    • 디자인패턴 (1)
    • 디지털 이미지 프로세싱 (16)

    태그

    Assert() CImage CVS cvsnt DefaultTraceListener eclipse Generic Git MDI new OSI 7 layer pragma setPoperty snoopspy std::auto_ptr STL STLFit STLPort synchronized TCP/IP Thread UNICODE useBean volatile watch WinSXS XP테마 기하학 날짜 드라이브 디버깅 마스크 버그트래킹시스템 상수 설치프로젝트 스레드 시간 실용주의 자바빈즈 캡쳐 탭 트랜젝션 형변환 후킹 히스토그램

    메타

    • 로그인
    • 엔트리 피드
    • 댓글 피드
    • WordPress.org
    ©2025 DarkKaiser의 블로그 | WordPress Theme by SuperbThemes