VC6对话框程序模拟键盘复制别的软件里面的文本,剪贴板取回来是空的

weixin_40697162 2019-12-20 12:21:14
我是小白,用CTRL A CTRL C组合键去复制别的地方的文本,送回RichEdit和EditBox做文本解析,但是一直不成功


if (OpenClipboard())
{
Sleep(4000);
//为了测试,这四秒钟移动鼠标指针到有文本的地方
Sleep(100);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
Sleep(50);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);



// ctrl A
keybd_event(VK_CONTROL ,0,0,0);
keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);

Sleep(100);

// ctrl C

keybd_event(VK_CONTROL ,0,0,0);
keybd_event(67,0,0,0);
keybd_event(67,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);

Sleep(100);


//if the function fails, the return value is NULL.
HANDLE hData = ::GetClipboardData(CF_UNICODETEXT);

if (hData != NULL)
{
CString str;
LPCTSTR lpdata = (LPCTSTR)GlobalLock(hData);
SetDlgItemText(IDC_RICHEDIT1, lpdata);//自定义拷贝到何处,这里拷贝到编辑框中
SetDlgItemText(IDC_EDIT4, lpdata);//自定义拷贝到何处,这里拷贝到编辑框中
GlobalUnlock(hData);
}
CloseClipboard();
}

}
...全文
126 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40697162 2019-12-20
  • 打赏
  • 举报
回复
如果打开notepad,按control V,是有文本出来的

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧