전체 글 389

웹 이미지 주소 복사하기 (IE6, IE7)

웹 이미지 주소 복사하기 (IE6, IE7) 웹 페이지에 이미지 주소를 어떻게 알아낼 수 있을까 하다가 생각해낸 방법입니다. 참조 링크: http://blueb.co.kr/bbs.php?table=JS_01&query=view&uid=121 링크 안 된 주소 쉽게 열기: http://pikadung.egloos.com/978435 1. 에디터를 이용해서 다음 내용을 *.htm 파일로 저장합니다. 여기서는 OpenImage.htm 이라고 지정했습니다. IE6 IE7 2. 위의 파일을 원하는 폴더에 복사합니다. 여기서는 C:\Program Files\Internet Explorer\에 저장했습니다. 3. 레지스트리 편집기를 열어 [HKEY_CURRENT_USER\Software\Microsoft\Intern..

웹, HTML 2008.07.31

SendMessage vs PostMessage, 기타 프로시저 재진입

SendMessage vs PostMessage 개발 ~* 2007/07/09 10:42 http://blog.naver.com/yjjyg/80040027453 이 포스트를 보낸곳 () ## SendMessage & PostMessage ## 1. 기본적인 동작 방식 - 기본적으로 시스템에는 하나의 메시지큐가 있고, 또한 각 스레드 마다 메시지큐가 하나식 생긴다. - 스레드가 처음 생성될 시에는 메시지큐가 생성되지 않고, 메시지큐가 필요한 시점에서 생성된다. (메시지큐가 필요한 시점이란 메시지를 필요로 하는 관련 함수가 한번이라도 호출 되는 시점을 말한다..gdi함수 등..) - SendMessage의 경우 메시지큐를 거치지 않고 직접 윈도우 프로시저를 호출한다. - PostMessage의 경우 메시지큐..

API 2008.07.31

윈도우 프로시저 - API

윈도우 프로시저 API 2007/01/19 13:12 http://blog.naver.com/ansic98/10013184410 이 포스트를 보낸곳 () 첨부파일 (1) 1. 윈도우 프로시저는 윈도우 클래스당 하나씩 배정된다 2. 같은 윈도우 클래스로 부터 만들어진 윈도우는 같은 윈도우 프로시저를 공유하며 동일한 동작을 한다 LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam); - 운영체제에 의해 호출되는 콜백함수이므로 사용자가 호출할 수 없다. SendMessage함수 등으로 간접 호출 가능 - 관심없는 메시지는 DefWindowProc으로 보내 디폴트 처리한다 3. 윈도우 프로시저는 재진입(ReEntrant)..

API 2008.07.31

어떻게 윈도우 프로시져는 재진입 되는가?

준비물 : Visual Studio 6.0 , WinSpy++ v1.6 일단 아래와 같은 단순한 API 프로그램을 살펴보자. 그림 1Visual C++ 6.0에서 New -> Project -> Win32 Application에서 프로젝트 이름은 BULK라고 하고 첫 번째 스텝에서 A typical "Hello World!" application을 선택하여 자동으로 생성된 프로그램을 그대로 빌드하여 실행시킨 것이다. 실제로 해보면 알겠지만 대부분의 Win32 App의 기본 골격인 메인 클래스 등록, 메인 윈도우 생성, 메시지 루프, 윈도우 프로시저까지 생성해 준다. 그림 2위와 같이 메뉴에서 Help -> About 을 선택하여 모달 다이얼로그를 띄운다. 아래 코드가 실행되는 것이다. 그림 3Dialog..

API 2008.07.31

TLS (Thread Local Storage) 란 무엇인가?

TLS (Thread Local Storage) 란 무엇인가? 프로그래밍(삽질) 2006/01/09 09:12 http://blog.naver.com/process3/20020554547 이 포스트를 보낸곳 () 오늘은 앞으로 Dual(MultiCore) Core 프로그램이 더욱 중요해 질 것이다. 그래서 Thread 프로그램 중에서 기본적인 개념이 TLS(Thread Local Storage)에 대해서 알아 보자^^ Thread Local Storage All threads of a process share its virtual address space. The local variables of a function are unique to each thread that runs the function...

API 2008.07.30

TLS(Thread Local Storage)

TLS(Thread Local Storage) 1. 요약 TLS(Thread Local Storage)는 스레드 별로 고유한 저장공간을 가질 수 있는 방법입니다. 2. 본문 각각의 스레드는 고유한 스택을 갖기 때문에 스택 변수( 지역 변수)는 스레드 별로 고유합니다. 예를 들어서 각각의 스레드가 같은 함수를 실행한다고 해도 그 함수에서 정의된 지역변수는 실제로 서로 다른 메모리 공간에 위치한다는 의미입니다. 그러나 정적 변수나 전역 변수의 경우에는 프로세스 내의 모든 스레드에 의해서 공유됩니다. 이 역시 예를 들고 싶지만, 다 이해하셨으리라 믿고 생략하겠습니다. 그렇습니다. TLS는 정적, 전역 변수를 각각의 스레드에게 독립적으로 만들어 주고 싶을 때 사용하는 것입니다. 다시 말해서, 분명히 같은 문장(..

COM, ATL 2008.07.30

DECLARE_DYNCREATE 매크로 풀어쓰기...

아래 발췌내용에서 조금 잘못된 부분이 있다. 런타임클래스를 이용하여 객체를 생성하는 것을 동적 생성이라고 용어정의를 내리는 것이 혼동을 줄 수 있다... 보통 동적 생성이라 함은 메모리 할당 함수나 연산자를 이용하여 실행중에 생성하는 것을 의미한다. new연산자를 이용하여 생성하는 것이 그 대표적인 예라고 볼 수 있다. 그리고 원래 DECLARE_DYNCREATE - IMPLEMENT_DYNCREATE 설정되었다고 해서 new 연산자를 사용하지 못하는 것은 아니다. 단지 런타임클래스의 m_pfnCreateObject 함수포인터 멤버(이 포인터는 클래스의 CreateObject 멤버 함수를 가리킴)를 이용하여 객체를 생성할 수 있는 기능을 추가한 것일 뿐이다. 다만 권고사항으로 위 매크로 선언시 생성자에 ..

MFC 2008.07.30