ZQ2011301610343 2015-05-16 13:40 采纳率: 0%
浏览 2883

如何在vba中读取屏幕坐标,跪求,急

在vba里面没法添加timer控件,所以GetCursorPos貌似没法用,还有我试过mousemove,结果只能获得窗体的坐标,那如何获得屏幕的坐标呀,我的编程环境是coreldraw vba

  • 写回答

5条回答 默认 最新

  • danielinbiti 2015-05-16 14:14
    关注

    用API实现定时器

     增加一个module
     增加代码
     Option Explicit
    
    Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
    Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
    
     Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long
    Public Type POINTAPI
            x As Long
            y As Long
    End Type
    Public p As POINTAPI
    Public Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
        GetCursorPos p
        UserForm1.setXY p
    End Sub
    
    增加一个Form,这里名字是userform1
    代码如下
    Option Explicit
    
    Public Sub setXY(p As POINTAPI)
      text_x.Text = CStr(p.x)
      text_y.Text = CStr(p.y)
    End Sub
    Private Sub UserForm_Initialize()
      Call SetTimer(0, 0, 10, AddressOf TimerProc)
    End Sub
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 一道python难题2
  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备