VC6对话框程序模拟键盘复制别的软件里面的文本,剪贴板取回来是空的
我是小白,用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();
}
}