怎么实现给一个软件自动填入账户名和密码 求给个思路
公司有个软件每天得登陆好几次 每次都得输入用户名和密码 一大串 怎么实现自动输入 给个思路 自动输入
[解决办法]
调用shellexecute启动这个程序
调用findwindow和findchildwindow找到文本框的句柄
调用sendmessage(wm_settext)设置用户名、密码
调用sendmessage(wm_click)点登录按钮
[解决办法]
用2楼思路.
void CSendWangWangDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
HWND hwnd=::FindWindow("StandardFrame",NULL);
CString str=m_edit;
int i=0;
while(hwnd)
{
i=0;
CString string;
char a[100];
HWND pro,pro1,pro2; // 得到窗口名称
::GetWindowText(hwnd,a,100);
string.Format("%s",a); // 如果含有"与"(因为QQ聊天窗口的名字都是"与XX聊天中");说明是QQ窗口
if(string.Find(" - ")>-1)
{
pro=FindWindowEx(hwnd,NULL,"SplitterBar",NULL);
if(pro)
{
pro1=FindWindowEx(pro,NULL,"StandardWindow",NULL);
pro1=FindWindowEx(pro,pro1,"StandardWindow",NULL);
if(pro1)
{
pro2=FindWindowEx(pro1,NULL,"RichEditComponent",NULL);
if(pro2)
{
::SendMessage(pro2,WM_SETTEXT,0,(LPARAM)(LPCTSTR)str);
::SetForegroundWindow(pro2);
Sleep(50);
keybd_event(VK_RETURN ,NULL,NULL,NULL);
keybd_event(VK_RETURN ,NULL,KEYEVENTF_KEYUP,NULL);
}
}
}
}
hwnd=::GetWindow(hwnd,GW_HWNDNEXT);
}
AfxMessageBox("消息发送完成!");
}