Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than user32, prefix the name with the module name and a period.
GetCursor (user32)
.
C# Signature:
[DllImport("user32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetCursorPos(out POINT lpPoint);
// DON'T use System.Drawing.Point, the order of the fields in System.Drawing.Point isn't guaranteed to stay the same.
<DllImport("user32.dll", ExactSpelling := True, SetLastError := True)> _
Public Shared Function GetCursorPos(ByRef lpPoint As POINT) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function
Private Declare Function GetCursor Lib "user32.dll" () As IntPtr
User-Defined Types:
None.
VB Signature:
Declare Function GetCursorPos Lib "user32.dll" _
(ByRef lpPoint As POINT) as boolean
<DllImport("user32.dll")> _
Public Function GetCursorPos(<[In](), Out()> ByRef pt As POINT) As Boolean
End Function
Point declaration
<System.Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential)> _
Public Structure POINT
Public X As Integer
Public Y As Integer
Public Sub New(ByVal X As Integer, ByVal Y As Integer)
Me.X = X
Me.Y = Y
End Sub
End Structure
Tested on Unity Engine. Sould be works on other .Net Framework/IDE:
Sample Code:
Please add some!
// *************************************************************************************
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
public class GetCursorPosTest : MonoBehaviour
{
private ulong lpPoint = 0;
[DllImport("user32.dll")] static extern bool GetCursorPos(out ulong _lpPoint);
POINT p;
if (GetCursorPos(out p))
{
label1.Text = Convert.ToString(p.X) + ";" + Convert.ToString(p.Y);
}
Alternative Managed API:
System.Windows.Forms.Cursor.Position
Retrieves the cursor position in screen coordinates.
3/18/2017 10:14:48 PM - -61.88.244.23
The POINT structure defines the x- and y-coordinates of a point.
9/24/2022 6:08:15 AM - -93.99.148.7
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).