怎么实现给一个软件自动填入账户名和密码 求给个思路 公司有个软件每天得登陆好几次 每次都得输入用户名和密码 一大串 怎么实现自动输入 给个思路自动输入 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用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("消息发送完成!"); }以上代码是我以前写的,你可以参考一下,另外FindWindow,GetWindowText,FindWindowEx,SendMessage这几个函数你需要了解 VC++关闭线程的问题? 非模态对话框点最小化时中断 在线程中注入dll后无法调用其回调函数的问 急需FFT,大侠帮帮忙 急!在线等,socket的10055错误! 如何得到FTP主机上的一个文件的大小信息 请教单文档结构怎样才能够去掉标题栏 Matlab的问题,解决200分相送,绝不食言 为什么我用office xp 创建的数据库在VC下大不开阿,他说格式不对阿. 设定了CTreeView的外观为TVS_HASLINES,然而还是看不到线? 求一个手机学习VC的网站 使用已经存在的pfx证书来签名XPI问题
调用findwindow和findchildwindow找到文本框的句柄
调用sendmessage(wm_settext)设置用户名、密码
调用sendmessage(wm_click)点登录按钮
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("消息发送完成!");
}
以上代码是我以前写的,你可以参考一下,另外FindWindow,GetWindowText,FindWindowEx,SendMessage这几个函数你需要了解