
dim x,y,color
//声明变量
GetCursorPos x, y
Color=GetPixelColor(x,y)
//得到指定坐标位置的颜色 并保存到变量color中
MessageBox("坐标为:"&x&","&y&" 颜色为:"&color)
//d出窗口 输出坐标和颜色的值
Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long '全屏坐标声明
Private Declare Function ScreenToClient Lib "user32dll" (ByVal hwnd As Int32, ByRef lpPoint As POINTAPI) As Int32 '窗口坐标声明
Private Structure POINTAPI '声明坐标变量
Public x As Int32 '声明坐标变量为32位
Public y As Int32 '声明坐标变量为32位
End Structure
'以上是声明部分
'以下是窗口部分
Private Sub Timer1_Tick(ByVal sender As SystemObject, ByVal e As SystemEventArgs) Handles Timer1Tick '用时钟控件来取坐标,窗口上放个Timer组件,Enabled为允许,周期为10到100毫秒均可
Dim P As POINTAPI '声明坐标变量
Dim xx, yy '声明转换要用到的变量
GetCursorPos(P) '获取鼠标在屏幕中的位置
ScreenToClient(MeHandleToInt32, P) '转换为本窗体的坐标
xx = PxToString '把X转换成能显示到文本框的字符串格式
yy = PyToString '把Y转换成能显示到文本框的字符串格式
TextBox1Text = xx + "和" + yy '文本框的内容为X坐标和Y坐标
End Sub
可以用ControlMousePosition获得当前鼠标的坐标,使用PointToClient计算鼠标相对于某个控件的坐标,如下
Point
screenPoint
=
ControlMousePosition;//鼠标相对于屏幕左上角的坐标
Point
formPoint
=
thisPointToClient(ControlMousePosition);//鼠标相对于窗体左上角的坐标
Point
contextMenuPoint
=
contextMenuStrip1PointToClient(ControlMousePosition);
//鼠标相对于contextMenuStrip1左上角的坐标
CPoint
pt;
::GetCursorPos(&pt);
这样就可以得到当前鼠标的位置了,(ptx,pty)。
要获得鼠标点击时的坐标不用自己获得的,MFC的消息映射函数的参数中有鼠标位置的这个参数的。
想要获取鼠标坐标并不容易,还是一样需要调用两个API函数GetCursorPos() 获取鼠标指针位置(屏幕坐标)然后采用ScreenToClient() 将鼠标指针位置转换为窗口坐标输出即可。上例子。
// 程序名称:通过 API 获取鼠标状态
//
#include <graphicsh>
#include <stdioh>
void main()
{
initgraph(640, 480); // 初始化绘图窗口
HWND hwnd = GetHWnd(); // 获取绘图窗口句柄
POINT point;
TCHAR s[10];
while(true)
{
GetCursorPos(&point); // 获取鼠标指针位置(屏幕坐标)
ScreenToClient(hwnd, &point); // 将鼠标指针位置转换为窗口坐标
// 获取鼠标按键状态可以用 GetAsyncKeyState 函数,这里不再详述。
// 输出鼠标坐标
sprintf(s, _T("%05d"), pointx);
outtextxy(0, 0, s);
sprintf(s, _T("%05d"), pointy);
outtextxy(0, 20, s);
// 适当延时
Sleep(10);
}
}
同样运行环境需要安装EasyX。
以上就是关于按键精灵怎么获取屏幕鼠标坐标全部的内容,包括:按键精灵怎么获取屏幕鼠标坐标、在VB.net中怎么获取 鼠标在屏幕中的坐标、C#如何获取鼠标相对当前窗口的坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)