.NET/Windows API for .NET

    FindWindow - 현재 열려진 윈도우 찾기

    FindWindow함수를 이용하면 창의 타이틀(Title)을 이용하여 원하는 윈도우화면을 찾고 해당 화면의 핸들(Handle)값을 구할 수 있습니다. _ Public Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As Integer End Function ▶VB.NET 선언 [DllImport("user32.dll")] public static extern int FindWindow(string lpClassName, string lpWindowName); ▶C# 선언 예를 들어 '계산기' 프로그램(Program)의 창 핸들값을 구하려면 다음과 같이 작성합니다. Dim hw1 As Integer =..

    PostMessage, SendMessage - 특정 윈도우(Windows)에 메세지(Message)처리하기

    PostMessage와 SendMessage의 전달인수및 사용법은 완전히 같습니다. 다만 차이점이라면 SendMessage는 해당 지정한 윈도우로 메세지(Message)를 즉시처리하도록 하는 반면 PostMessage는 메세지자체를 큐(Queue)에 담아둡니다.(향후 내부적으로 GetMessage에 의해 순서대로 처리됩니다.) 따라서 메세지를 보내고 처리완료를 대기할 필요없이 곧장 다른 작업으로 전환해야 한다면 PostMessage가 가장 적절하며 어느정도의 대기시간이 걸린다 하더라도 비교적 신속히 처리되어야할 경우라면 SendMessage사용이 적합합니다. 어느것이든 사용방법과 처리하고자 하는 내용이 같으므로 여기서는 SendMessage를 기준으로 알아보도록 하겠습니다. _ Public Shared ..

    DestroyCaret - 생성된 모든 Caret의 삭제

    DestroyCaret 함수는 생성된 모든 Caret을 삭제합니다. Declare Function DestroyCaret Lib "user32" () As Integer ▶VB.NET 선언 DestroyCaret() ▶VB.NET 호출 [DllImport("user32.dll")] public static extern int DestroyCaret(); ▶C# 선언 DestroyCaret(); ▶C# 호출 생성된 Caret의 개별적인 삭제는 불가능 합니다. DestroyCaret함수를 호출하면 모든 Caret이 영향을 받습니다.

    LoadCursor - Windows Cursor Load

    LoadCursor함수는 원하는 시스템 Mouse Cursor를 Load하여 사용하도록 설정하는 함수입니다. Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Integer, ByVal lpCursorName As Integer) As Integer ▶VB.NET 선언 LoadCursor(instance, cursor) ▶VB.NET 호출 [DllImport("user32.dll")] public static extern int LoadCursor(int hInstance, int lpCursorName); ▶C# 선언 LoadCursor(instance, cursor) ▶C# 호출 LoadCursor함수를 사..

    GetKeyboardLayout - Keyboard배열및 언어확인

    GetKeyboardLayout함수는 특정 Thread에서 사용중인 Keyboard의 입력언어및 배열값을 확인합니다. Declare Function GetKeyboardLayout Lib "user32" Alias "GetKeyboardLayout" (ByVal dwLayout As Integer) As Integer ▶VB.NET 선언 GetKeyboardLayout(0) ▶VB.NET 호출 [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern int GetKeyboardLayout(int dwLayout); ▶C# 선언 GetKeyboardLayout(0); ▶C# 호출 GetKeyboardLayout함수는 Thr..

    GetLocaleInfo - System의 국가별지역 정보

    GetLocaleInfo함수는 현재 Windows에 설정되어 있는 국가/지역에 대한 다양한 정보를 확인할 수 있는 함수입니다. Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Integer, ByVal LCType As Integer, ByVal lpLCDate As String, ByVal cchData As Integer) As Integer ▶VB.NET 선언 Dim sbuff As String = Space(10) GetLocaleInfo(locale, type, sbuff, data) ▶VB.NET 호출 [DllImport("kernel32.dll")] public static extern ..

    AddFontResource - Font(글꼴) 추가하기

    AddFontResource함수는 현재 System에 지정된 Font(글꼴)를 추가시키는 함수입니다. Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String) As Integer ▶VB.NET 선언 [DllImport("gdi32")] public static extern int AddFontResource(string lpFileName); ▶C# 선언 AddFontResource(path) ▶VB.NET 호출 AddFontResource(path); ▶C# 호출 함수의 path인수에는 추가할 Font File을 지정합니다. 예를 들어 abc.TTF(true type) 라는 글꼴 Fi..

    GetTextFace - 현재 Windows화면의 글꼴 확인

    GetTextFace함수는 현재 Windows화면의 글꼴관한 정보를 반환합니다. Declare Function GetTextFace Lib "gdi32" Alias "GetTextFaceA" (ByVal hdc As Integer, ByVal nCount As Integer, ByVal lpFacename As String) As Integer ▶VB.NET 선언 [DllImport("gdi32")] public static extern int GetTextFace(int hdc, int nCount, StringBuilder lpStr); ▶C# 선언 GetTextFace함수의 첫번째 인수로는 현재 Windows화면의 Device Context를 지정해야 합니다. [Windows API for .NET..