日期:2014-05-18  浏览次数:20729 次

怎么取窗口相对坐标
知道这个窗口的句柄 怎么才能获取鼠标点击的坐标(相对于这个句柄窗口)
例如计算器(标准型) 我想获取“=”号相对于计算器的坐标点 
点击我程序的按钮 鼠标就自动点击“=”号 计算器换成科学型的 点击按钮鼠标也可以点到“=”号

------解决方案--------------------
探讨

你可以直接用Form_MouseClick事件
private void Form_MouseClick(object sender, MouseEventArgs e)
{
MessageBox.Show(e.X+";"+e.Y);
}
或者用user32 API的GetCursorPos及WindowFromPoint函式來取得

------解决方案--------------------
如果你說的其他窗口是你自己寫的,一樣可以用Form_MouseClick事件,取得位置後回傳給主窗。
若其它窗口不是你寫的,那你大概只能用user32 API的GetCursorPos及WindowFromPoint函式來取得
------解决方案--------------------
PointToScreen(Point p)
 PointToClient(Point p)
相对坐标与绝对坐标转换。
------解决方案--------------------
探讨
PointToScreen(Point p)
PointToClient(Point p)
相对坐标与绝对坐标转换。