回 帖 发 新 帖 刷新版面

主题:请教sendkeys的问题

Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
  
 
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
  Private Const MOUSEEVENTF_MOVE = &H1                     '     mouse   move
  Private Const MOUSEEVENTF_LEFTDOWN = &H2                 '     left   button   down
  Private Const MOUSEEVENTF_LEFTUP = &H4                   '     left   button   up
  Private Const MOUSEEVENTF_ABSOLUTE = &H8000              '     absolute   move
  
  
  
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2 '释放按键常数







Private Sub Timer1_Timer()     
    Dim posx, posy
    
    posx = Text5.Text  '移动鼠标选择
    posy = Text6.Text
    a = SetCursorPos(posx, posy)
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, posx, posy, 0, 0  
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, posx, posy, 0, 0      
         

    Call keybd_event(49, 0, 0, 0) '按下1键
    Call keybd_event(49, 0, KEYEVENTF_KEYUP, 0) '释放1键
    
    Call keybd_event(54, 0, 0, 0) '按下6键
    Call keybd_event(54, 0, KEYEVENTF_KEYUP, 0) '释放6键

    如何逐行读取文本文件内容
    用sendkeys方法发送
    读完第一行后读第二行,没有就停止
    比如文本文件内容为:
    123
    456
    789
    

    请高手写段看看,非常感谢

回复列表 (共3个回复)

沙发

你是想问文本控件,还是文本文件?

如果是前者,请用WM_GETTEXT
如果是后者,请参考http://blog.pfan.cn/iamben250/12273.html

板凳


文本文件

3 楼

步骤一:读取文件文件,获得自己要的内容
步骤二:获得你要的窗口句柄
步骤三:用WM_SETTEXT消息发过去
步骤四:睁大双眼看结果,如果不行返回步骤一/二/三重新调试

我来回复

您尚未登录,请登录后再回复。点此登录或注册