16,548
社区成员




// 调用
HWND hWnd = ::FindWindow(_T("IEFRAME"), NULL); //找到IE浏览器
AfxBeginThread(ThreadProc, (LPVOID)hWnd); // 启动线程
UINT __cdecl ThreadProc(LPVOID lParam)
{
HWND hWnd = (HWND)lParam;
CString strURL(_T(""));
GetURLFromClipboard(hWnd, strURL);
AfxMessageBox(strURL);
return 0;
}
BOOL GetURLFromClipboard(HWND hWnd,CString &strURL)
{
//当前浏览器句柄
if(NULL == hWnd)
{
return FALSE;
}
//设置当前浏览器为前端窗体
::SetForegroundWindow(hWnd);
//打开粘贴板
if(FALSE == ::OpenClipboard(hWnd))
{
return FALSE;
}
//清空粘贴板已有数据
EmptyClipboard();
//ALT + D,快捷键获取浏览器地址栏文本
keybd_event(VK_MENU, 0, 0 ,0);
keybd_event('D', 0, 0,0);
keybd_event('D', 0, KEYEVENTF_KEYUP ,0);
keybd_event(VK_MENU , 0, KEYEVENTF_KEYUP ,0);
Sleep(100);
//CTRL + C ,快捷键复制文本到粘贴板
keybd_event(VK_CONTROL, 0, 0 ,0);
keybd_event('C', 0, 0,0);
keybd_event('C', 0, KEYEVENTF_KEYUP ,0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP ,0);
//获取粘贴板数据内存起始地址
HANDLE hClipMemory = ::GetClipboardData(CF_TEXT);
if(NULL == hClipMemory)
{
CloseClipboard();
return FALSE;
}