无论是用GETCURSORPOS还是用GETCURSORPOS+SCREENTOCLIENT,得到的值每隔一端时间就会发生变化。
解决方案 »
- 代码段白色了?
- 人长得帅就是好啊
- [VS保存和编译问题] 总是出现“另一个程序正在使用此文件,进程无法访问”
- 求救!AfxBeginThread创建辅助线程发生错误!!!
- using namespace *的好处在哪了
- 位图显示闪烁问题,不够的话加分!
- 自己的开发的程序拿去给别人用必须改为release版吗?有什么好处呢
- 字符转换为16-bit 数字
- 关于图象截取的问题
- 如何判断一个程序长时间搁置而没有使用?
- 原来只需要F7+(CTR+F5),现在F7成功后再CTR+F5的时候会提示These project configuration(s) are out of date,would you like to bui
- VC中编辑注册表,为什么计算机重新启动后全都不见了,我该怎么办???
dim attrib as long
dim s as pointapi
attrib=findwindow(vbnullstring,"窗口名称")
if attrib<>0 then
getcursorpos s
debug.print s.x & ":" & s.y
endif
即使鼠标动了,数值也不会变化太大。差不多在同一条直线上,s.y的值竟然相差2、30,不可想象吧。
对了,我所面对的窗口不是控件窗口,有可能是direct的游戏窗口。
Private Type POINTAPI
x As Long
y As Long
End TypePrivate Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPrivate Sub Timer1_Timer()
Dim a As POINTAPI
GetCursorPos a
Debug.Print a.x, a.y
End Sub你看看立即窗口出来的有没有变。
GetCursorPos【操作系统】
Win9X:Yes
WinNT:Yes【声明】
GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long【说明】 获取鼠标指针的当前位置 【返回值】 Long,非零表示成功,零表示失败。会设置GetLastError 【其它】
【参数表】
lpPoint -------- POINTAPI,随同指针在屏幕像素坐标中的位置载入的一个结构
我按照你说的重做了一次,仍然在变。
我没有QQ,我的EMAIL是[email protected]
不应该是象素的问题,因为在得到第二、三次数据时,我又获得了相对于第一次数据的坐标值,这时鼠标在屏幕上位置与第一次相差很大(有参照物),我也很奇怪。上火呀,我所做的东西大部分都完成了,就差这部分了
[email protected]
早上给你发信,不知怎么搞的没有了。
我给你发了EMAIL,不应该是代码的问题,是不是该窗口的问题?