pozycja kursora C# [ nie apki, calego monitora]

0

potrzebuje pomocy z kodem, mam napisane w C++, kod wyglada tak:
while(1)
{
POINT pozycja;
GetCursorPos(&pozycja);
cout<<"X: "<<(pozycja.x)<<" Y: "<<(pozycja.y);
Sleep(300);
system("cls");
}

natomiast potrzebuje napisać to w C# i mam problem, jesli wyswietla współrzędne to tylko okienka apki, a nie całego monitora.
Może ktoś wkleić taka sama pętle tylko w C# ? bede bardzo wdzięczny :)

0

A pokaż co tam napisałeś w tym C#

0

Jeżeli się nie mylę, to
Najprościej będzie Ci chyba zrobić aplikacje okienkową, dodać jakiś textbox/label czy co tam chcesz

i dodać pętle

while (true)
{
   X.Text = Cursor.Position.X.ToString();
   Y.Text = Cursor.Position.Y.ToString();
   Thread.Sleep(1);
}

Żeby to zrobić w konsoli, to CHYBA trochę więcej zabawy

https://blogs.msdn.microsoft.com/toub/2006/05/03/low-level-mouse-hook-in-c

0

https://www.codeproject.com/articles/7294/processing-globa...</span>%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20from:%20</webcontrols/WebControls/?fid=57596&df=90&mpp=25&sort=Position&view=Normal&spc=Relaxed&fr=1051

Zobacz to. Nie wczytywalem się ale powinno być pomocne.

0

W ostateczności można zaimportować tę funkcję z WinAPI do C#.

using System;
using System.Runtime.InteropServices;

class Program
{
    [StructLayout(LayoutKind.Sequential)]
    struct POINT
    {
        public int x, y;
    }

    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    static extern bool GetCursorPos(out POINT lpPoint);

    static void Main(string[] args)
    {
        if (GetCursorPos(out POINT p))
            Console.WriteLine($"{p.x}, {p.y}");
    }
}
0

No przecież to zwykłe: Cursor.Position

1 użytkowników online, w tym zalogowanych: 0, gości: 1