使用mouse_event来模拟一次选中文本框中的文本
2011-05-15 21:16
531 查看
使用mouse_event可以模拟一些通过鼠标执行的事情,下面我们就来模拟一次鼠标在EDIT中选择一段文本的过程。
首先我们来分解一下选中文本的鼠标动作,其包括基本方面:
将鼠标移动到指定的位置,文本的开始处
按下鼠标(WM_LBUTTONDOWN)
在按下鼠标的同时移动鼠标到指定的位置
松开鼠标左键(WM_LBUTTONUP)
知道了这个过程我们就来通过程序来模拟吧。我自己实验的时候建立了DIALOG工程,在DIALOG上放了一个BUTTON,一个EDIT,将程序写到BUTTON事件中,程序如下:
void CTestChkDlg: nBnClickedButton1()
{
RECT rect;
GetDlgItem(IDC_EDIT)->GetWindowRect(&rect);
SetCursorPos(rect.left+5,rect.top+5);
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,rect.left+1,rect.top+1,0,0);
SetCursorPos(rect.left+60,rect.top+10);
//mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,500,600,0,0);
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP,rect.left+60,rect.top+5,0,0);
}
首先我们需要做的是取得EDIT的位置,然后将鼠标移动到那里(SetCursorPos),这里加5是让鼠标在EDIT里面,因为EDIT有边,如果按照RECT的值来可能选择不了;然后使用MOUSEEVENTF_LEFTDOWN来按下鼠标,在按下鼠标的时候再将鼠标移动到文本的指定位置,然后松开鼠标。
好了文本选中了。
既然可以通过程序来模拟真正的鼠标动作,那么我们就可以写一些自动安装程序就不是什么难事情了。记得以前我们公司采用LOTUS软件来拷勤,需要在上面刷卡,哈哈,既然鼠标能模拟,这种方法可以写个程序来帮你刷卡,你永远不会迟到。当然,如果你真的这么做,后果自负。
http://blog.csdn.net/windcsn/archive/2005/08/22/461211.aspx
首先我们来分解一下选中文本的鼠标动作,其包括基本方面:
将鼠标移动到指定的位置,文本的开始处
按下鼠标(WM_LBUTTONDOWN)
在按下鼠标的同时移动鼠标到指定的位置
松开鼠标左键(WM_LBUTTONUP)
知道了这个过程我们就来通过程序来模拟吧。我自己实验的时候建立了DIALOG工程,在DIALOG上放了一个BUTTON,一个EDIT,将程序写到BUTTON事件中,程序如下:
void CTestChkDlg: nBnClickedButton1()
{
RECT rect;
GetDlgItem(IDC_EDIT)->GetWindowRect(&rect);
SetCursorPos(rect.left+5,rect.top+5);
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTDOWN,rect.left+1,rect.top+1,0,0);
SetCursorPos(rect.left+60,rect.top+10);
//mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,500,600,0,0);
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_LEFTUP,rect.left+60,rect.top+5,0,0);
}
首先我们需要做的是取得EDIT的位置,然后将鼠标移动到那里(SetCursorPos),这里加5是让鼠标在EDIT里面,因为EDIT有边,如果按照RECT的值来可能选择不了;然后使用MOUSEEVENTF_LEFTDOWN来按下鼠标,在按下鼠标的时候再将鼠标移动到文本的指定位置,然后松开鼠标。
好了文本选中了。
既然可以通过程序来模拟真正的鼠标动作,那么我们就可以写一些自动安装程序就不是什么难事情了。记得以前我们公司采用LOTUS软件来拷勤,需要在上面刷卡,哈哈,既然鼠标能模拟,这种方法可以写个程序来帮你刷卡,你永远不会迟到。当然,如果你真的这么做,后果自负。
http://blog.csdn.net/windcsn/archive/2005/08/22/461211.aspx
相关文章推荐
- 使用mouse_event来模拟一次选中文本框中的文本(转)
- 使用mouse_event来模拟一次选中文本框中的文本
- 使用mouse_event来模拟一次选中文本框中的文本
- 使用mouse_event来模拟一次选中文本框中的文本
- 前端开发使用css禁止选中文本,模拟双击禁止选中文本,网页禁止选中文本
- 使用mouse_event模拟鼠标事件时,程序窗口失去焦点就失效
- keybd_event,mouse_event 模拟产生键盘事件、鼠标事件的使用
- .net服务器控件,文本框,密码框,文本区域的控件的使用
- 使用vim在选中的文本中查找替换
- 使用div模拟textarea,实现文本输入框高度自适应(附:js控制textarea实现文本输入框高度自适应)
- 使用_TrackMouseEvent捕获WM_MOUSELEAVE和WM_MOUSEHOVER消息
- createTextRange()的使用示例含文本框选中部分文字内容
- 使用用JavaScript或Jquery获取标准下拉框的"选中值"和"选中文本"
- 使用CSS3改变文本选中的颜色
- 用Mouse_event()来模拟鼠标操作
- 用Mouse_event和Keybd_event来模拟鼠标和键盘
- 使用keybd_event模拟键盘输入
- Django在前台使用富文本model,实现后台能取得到页面富文本框中的值
- JavaScript获取文本框内选中文本的方法
- (总结)Swing组件的使用---文本框(JTextField)与文本区(JTextArea)