선언:

C#

[DllImport("user32")]
public static extern Int32 GetCursorPos(out POINT pt);


VB.NET

<DllImport("user32")> _
Public Shared Function GetCursorPos(ByRef pt As POINT) As Int32
End Function




사용 예제:

C#

using System;
using System.Runtime.InteropServices;

namespace ApiReference {
    class ApiExample {
        
        [DllImport("user32")]
        public static extern Int32 GetCursorPos(out POINT pt);
        
        public struct POINT {
            public Int32 x;
            public Int32 y;
        }
        
        public static void Main(string[] args) {
            POINT pt;
            GetCursorPos(out pt);
            Console.WriteLine("현재 마우스 커서의 위치는 {0}, {1} 입니다!", pt.x, pt.y);
            Console.ReadKey(true);
        }
    }
}


VB.NET

Imports System
Imports System.Runtime.InteropServices

Namespace ApiReference
    Class ApiExample

        <DllImport("user32")> _
        Public Shared Function GetCursorPos(ByRef pt As POINT) As Int32
        End Function

        Public Structure POINT
            Public x As Int32
            Public y As Int32
        End Structure

        Public Shared Sub Main(args As String())
            Dim pt As POINT
            GetCursorPos(pt)
            Console.WriteLine("현재 마우스 커서의 위치는 {0}, {1} 입니다!", pt.x, pt.y)
            Console.ReadKey(True)
        End Sub
    End Class
End Namespace




예제 실행 결과:




매개 변수 설명:

pt - 마우스 커서의 위치가 저장될 변수를 입력합니다.




API 설명:

커서의 현재 위치 정보를 가져옵니다.




참고:

GetCursorPos (MSDN)




비고:

커서의 현재 위치 정보를 가져옵니다. 이 API는 반환 값이 크게 중요하지 않기 때문에 반환 형식을 void 형식으로

해도 상관 없습니다. (C#의 경우 void, VB.NET의 경우 Sub)

* 참고로 API에서 사용되는 POINT 구조체는 모두 System.Drawing.Point 구조체로도 사용 가능합니다.


'API Reference' 카테고리의 다른 글

15. GetAsyncKeyState  (0) 2014.09.26
14. SetCursorPos  (0) 2014.09.25
12. MapWindowPoints  (0) 2014.09.21
11. ChildWindowFromPoint  (0) 2014.09.20
10. WindowFromPoint  (0) 2014.09.19

+ Recent posts