본문 바로가기

assembly

Get EntryAssembly List for WPF DesignTime Introduction VisualStudio 혹은 Expression Blend에서 동작하는 WPF DesignTime Extension을 개발하려고할때 현재 작업중인 Assembly에 대한 정보가 필요할 때가 있습니다. Runtime상에서는 System.Reflection.Assembly.GetEntryAssembly를 이용해 간단하게 현재 실행중인 Assembly의 정보를 가져올 수 있지만, DesignTime에서는 EntryAssembly를 가져올 수 없기 때문에 문제가 발생합니다. 이번시간에는 DesignTime에서 현재 작업중인 Assembly에 대한 정보를 가져오는 방법에 대해 소개합니다. GetEntryAssembly public static Assembly GetEntryAssembly(.. 더보기
[MASM 강좌] 튜토리얼 4 : Painting with Text 튜토리얼 4: Painting with Text 이번 튜토리얼에서는 윈도우의 클라이언트 영역에 "paint" 라는 텍스트를 출력하는 방법에 대해서 배워 보도록 하겠습니다. 또한 디바이스 컨텍스트(Device Context)에 대해서도 배울 것입니다. 소스코드는 여기에서 받으시면 됩니다. 이론: Windows 에서 텍스트(text)는 GUI 객체 타입입니다. 각 문자는 고유한 패턴에 맞춰진 수 백개의 픽셀 집합으로 이루어져 있습니다. 이것이 바로 "기록(writing)" 라는 말 대신 "그리기(painting)" 이라고 불리는 이유입니다. 일반적으로, 자신의 클라이언트 영역 안에 텍스트를 그려 넣을 수 있습니다.(사실, 자신의 클라이언트 영역 밖에다가 텍스트를 그려 넣을 수도 있지만 그것은 다른 주제입니다.. 더보기
[MASM 강좌] 튜토리얼 2 : MessageBox 튜토리얼 2: MessageBox 이번 튜토리얼에서는 "Win32 assembly is great!" 을 출력하는 메세지 박스를 보여주는 완전한 Windows 프로그램을 만들 것입니다. 예제파일은 여기에서 받으실 수 있습니다. 이론: Windows는 윈도우 프로그램을 위해 많은 리소스를 제공합니다. 그 중심에 Windows API(Application Programming Interface)가 있습니다. Windows API 는 매우 유용한 함수들을 한데 모아놓은 것이며, Windows 에 내포되어 있기 때문에 Windows 프로그램에서 바로 사용할 수 있습니다. 이러한 함수들은 kernel32.dll, user32.dll, gdi32.dll 과 같은 동적링크 라이브러리(DLLs)들에 저장되어 있습니다... 더보기
Load Assembly in Runtime using AppDomain Introduction Application을 개발할때 여러 프로젝트에서 동일한 기능을 공유하거나, 관리상의 목적으로 하여금 DLL 형태로 분리해 개발을 하는 경우가 있습니다. .Net으로 개발된 Application은 참조된 DLL(Assembly)을 로드할때 기본적으로 System32나, Application Root, GAC에 등록되어 있는 DLL을 검색하는데, 검색에 실패할경우 "FileNotFoundException"을 발생시킵니다. 만약, Application에서 참조하는 DLL(Assembly)의 경로가 위에서 언급한 위치와 다른 위치에 설치하고자 한다면 AppDomain을 이용해 런타임에 직접 Assembly를 Load하는 방식으로 해결 할 수 있습니다. What is AppDomain? .. 더보기