본문 바로가기

Development

Check Windows User Account Role Introduction Windows용 소프트웨어를 개발하다보면 사용자 로그를 기록하거나, 특별한 권한이 필요한 기능을 수행하려고 할때, 현재 사용자의 권한을 알아야 하는 상황이 있습니다. 이번시간에 소개할 내용은 .Net Framework를 이용해 사용자 권한의 가져오는 방법에 대해 설명합니다. using System.Security.Principal; public static List GetCurrentUserRole() { List Results = new List(); WindowsIdentity WindowsIdentity = WindowsIdentity.GetCurrent(); WindowsPrincipal WindowsPrincipal = new WindowsPrincipal(WindowsI.. 더보기
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)" 이라고 불리는 이유입니다. 일반적으로, 자신의 클라이언트 영역 안에 텍스트를 그려 넣을 수 있습니다.(사실, 자신의 클라이언트 영역 밖에다가 텍스트를 그려 넣을 수도 있지만 그것은 다른 주제입니다.. 더보기
Lego Photo Presenter Using WPF Introduction 아이폰을 사용하면서 여러가지 App들을 다운로드받아 사용하는데 무료 App중에 선택한 사진을 레고형태로 만들어주는 App이 있습니다. 한두번 만져보다가 신기해서 WPF로도 한번 구현해봐야겠다는 생각으로 구현해봤습니다. 사진을 선택하면 사진이 레고블럭으로 이루어진 듯한 효과를 내며 또다른 사진을 선택할경우 도미노를 연상케하는 효과로 사진이 전환됩니다. 실제 App보단 다소 디테일한 면이 부족하지만, 유사한 기능을 구현하시는 분들이시라면 참고하시는데에는 도움이 되실거라 생각됩니다. 아래는 소스코드입니다. 더보기
[MASM 강좌] 튜토리얼 3 : A Simple window 튜토리얼 3: A Simple Window 이번 튜토리얼에서는 화면 위에 모든 기능을 가지고 있는 윈도우를 생성하는 Windows 프로그램을 만들어 보도록 하겠습니다. 예제 파일은 여기에서 받으시기 바랍니다. 이론: Windows 프로그램은 GUI 를 위해서는 API 함수에 매우 의존적인데, 이는 사용자나 개발자 모두에게 도움이 됩니다. 사용자는 Windows 프로그램들의 GUI가 다 비슷하기 때문에, 처음 접하는 프로그램이라도 별도의 GUI 작동법을 배우지 않아도 됩니다. 그리고 프로그래머에게는 충분히 검증되어 바로 사용할 수 있는 GUI 코드를 제공합니다. 한편으로는 프로그래머에게 조금 더 복잡해 졌습니다. 창, 메뉴, 아이콘들 같은 GUI 오브젝트(object)들을 만들거나 조작하기 위해서 프로그래.. 더보기