读书人

SendMessage 模拟发送 quot;粘贴quot; 键 , 记

发布时间: 2014-01-03 14:10:51 作者: rapoo

SendMessage 模拟发送 "粘贴" 键 , 记事本可以,网页回复框不行???
注册一个热键,按下热键就等于向当前光标处按下"Ctrl + v",以实现粘贴的功能。

测试中,发现在记事本,写字板里按下热键,能够将剪切板内容复制到当前光标。

但是在 网页回复框内按下热键无反应,请问是什么原因??


代码如下:


POINT curpos; //一个可储存坐标点的结构体变量,x横坐标,y,纵坐标,如curpos.x curpos.y

GetCursorPos(&curpos); //获取当前鼠标的位置,位置将储存在curpos里。
HWND hwnd1 = ::WindowFromPoint(curpos); //根据curpos所指的坐标点获取窗口句柄

::SendMessage(hwnd1, WM_PASTE, 0, 0);


请问怎么解决?
[解决办法]
你试试直接发送按键
keybd_event(17,0,0,0);
keybd_event(86,0,0,0);
keybd_event(86,0,KEYEVENTF_KEYUP,0);
keybd_event(17,0,KEYEVENTF_KEYUP,0);

17是ctrl,86是v
另外,也有个SendInput函数,能实现类似功能。

读书人网 >VC/MFC

热点推荐