永发信息网

请教如何用VC程序自动点击网页上的按钮

答案:1  悬赏:80  手机版
解决时间 2021-11-25 20:37
  • 提问者网友:绫月
  • 2021-11-25 08:47
请教如何用VC程序自动点击网页上的按钮
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-11-25 09:26
果熟悉SDK编程的朋友肯定清楚MSG、WPARAM、LPARAM 等参数,当然写起来也会比较顺手,无非就是FindWindow、FindWindowEx、PostMessage之类的体力活。下面是我自己测试过的代码:

1、测试程序
新建一个空白的对话框、在“确定”按钮中添加消息相应:
[cpp] view plain copy
void CMsgBoxDlg::OnOK()
{
// TODO: Add extra validation here
MessageBox("测试鼠标点击成功!");
}

2、VC模拟点击按钮
上面的工程是我们需要模拟点击的按钮与主程序,我们再新建一个对话框,用来测试模拟点击按钮:
[cpp] view plain copy
void CTestDlg::OnOK()
{
// TODO: Add extra validation here
HWND hWnd1,hWnd2;
hWnd1 = ::FindWindow(NULL,_T("MsgBox"));
if(!hWnd1)
{
MessageBox("请先运行程序MsgBox.exe!");
return;
}
hWnd2 = ::FindWindowEx(hWnd1,NULL,_T("Button"),NULL);
if(!hWnd2)
{
MessageBox("没有找到/"确定/"按钮!");
return;
}
UINT nCtrlID = ::GetDlgCtrlID(hWnd2);
::PostMessage(hWnd2, WM_COMMAND, (WPARAM)(BN_CLICKED << 16 | nCtrlID), (LPARAM)hWnd2);
::PostMessage(hWnd2,WM_MOUSEMOVE, MK_LBUTTON, MAKELONG(0,0) );
::PostMessage(hWnd2,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(0,0));
::PostMessage(hWnd2,WM_LBUTTONUP,MK_LBUTTON,MAKELPARAM(0,0));
}

3、程序运行效果:
---------------------
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯