如何取得,鼠标当前的在屏幕上XY位置

如何取得,鼠标当前的在屏幕上XY位置,第1张

用这个,血手宝典5,注意那个瞄准器一样的东西,用鼠标可以拖动,这时就可以显示你鼠标指针所在的位置,这个功能不用激活,只要下载软件就可以办到。

本回答由提问者推荐

举报| 答案纠错 | 评论

赞 2

首先,你要确认是哪一个窗口捕获了你鼠标的信息。如果你没有特意的设置鼠标捕获,默认的一般为鼠标下所在Z order的最上层窗口所捕获。其次,转换坐标时要清楚你获得的鼠标位置是那个窗口的,然后你要转换到那个窗口。如果不能理解成员函数的含义的话可以使用全局函数::ScreenToClient();::ClientToScreen();

#include "stdioh"

#include "windowsh"

void main()

{

// 获取活动窗口

    HWND h=GetForegroundWindow();

printf("0x%X\n",h);

// 获取窗口标题

char text[200];

GetWindowText(h,text,200);

printf("%s\n",text);

// 获取屏幕鼠标坐标

POINT pt;

GetCursorPos(&pt);

printf("%d %d\n",ptx,pty);

// 获取窗口鼠标坐标

ScreenToClient(h,&pt);

printf("%d %d\n",ptx,pty);

}

如何画矩形?那要看楼主准备用什么技术画,

直接的有moveto,lineto,

如果是用gdi的话,有Rectangle

如果是用gdi+的话,有DrawRectangle,

如果是openGL的话,glTexCoord2f,glVertex2f

其它的我就没有用过了 。

/////////////////////////////////////////

获取鼠标按下的屏幕坐标,然后在鼠标移动的消息中,判断当前鼠标是否抬起,未抬起更新此时的坐标,以按下坐标和当前坐标画矩形。然后在鼠标抬起消息中,获取抬起时坐标,以按下坐标和抬起坐标画矩形。

///////////////////////////////////////////

我知道楼主的意思了,其实楼主根本没有实现任意区域的屏幕截图,嘿嘿

以下是相关资料,可以看看思路

       #region 得到光标在屏幕上的位置

        [DllImport("user32")]

         public static extern bool GetCaretPos(out Point lpPoint);

         [DllImport("user32dll")]

         private static extern IntPtr GetForegroundWindow();

         [DllImport("user32dll")]

         private static extern IntPtr GetFocus();

         [DllImport("user32dll")]

         private static extern IntPtr AttachThreadInput(IntPtr idAttach, IntPtr idAttachTo, int fAttach);

         [DllImport("user32dll")]

         private static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);

         [DllImport("kernel32dll")]

         private static extern IntPtr GetCurrentThreadId();

         [DllImport("user32dll")]

         private static extern void ClientToScreen(IntPtr hWnd, ref Point p);

         private Point CaretPos()

         {

             IntPtr ptr = GetForegroundWindow();

             Point p = new Point();

             //得到Caret在屏幕上的位置   

             if (ptrToInt32() != 0)

             {

                 IntPtr targetThreadID = GetWindowThreadProcessId(ptr, IntPtrZero);

                 IntPtr localThreadID = GetCurrentThreadId();

                 if (localThreadID != targetThreadID)

                 {

                     AttachThreadInput(localThreadID, targetThreadID, 1);

                     ptr = GetFocus();

                     if (ptrToInt32() != 0)

                     {

                         GetCaretPos(out   p);

                         ClientToScreen(ptr, ref   p);

                     }

                     AttachThreadInput(localThreadID, targetThreadID, 0);

                 }

             }

             return p;

         }

         #endregion

PS新建一个文件,和你的屏幕尺寸一样大然后按F键,使之全屏(可能要多按几次)按F8,信息面面版中XY就是坐标你在网页面,用鼠标指着某个点,不动按ALT+TAB键,切换到PS,就会得到一个坐标。

其实这个问题的解决方法很简单,但是还是有些朋友不知道该怎么设置。下面我就详细演示一下具体的 *** 作步骤吧,希望能对大家有所帮助。(演示版本:抖音2280)

详细步骤如下:

1、我们进入抖音后,首先点击右下角的我,然后点击上方的编辑资料

2、进入个人资料界面点击所在地

3、接着点击点击开启定位

4、d出此界面,点击允许

5、随后点击仅使用期间允许

6、设置成功后,抖音会自动获取当前位置。

7、返回此界面,我们就能够看到所在地已经显示当前的地理位置了。

滑动到屏幕外的View就立刻被回收了 这样就没法判断View 的位置了 如果item都是高度一致的 你可以获取当前最顶端item 的位置 结合它的position来计算

你的采纳是我前进的动力,记得好评和采纳,答题不易,互相帮助,

手机提问的朋友在客户端右上角评价点满意即可

如果你认可我的回答,请及时点击采纳为满意回答按钮!

以上就是关于如何取得,鼠标当前的在屏幕上XY位置全部的内容,包括:如何取得,鼠标当前的在屏幕上XY位置、C++如何获得当前窗口左上角相对于电脑屏幕的位置、如何获取屏幕坐标,并且把这个坐标保存在文本里面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9602159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存