全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1917
推到 Plurk!
推到 Facebook!

QQ 自动登陆的问题

 
bjwdxs
一般會員


發表:4
回覆:4
積分:1
註冊:2006-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-10-18 21:20:02 IP:218.18.xxx.xxx 未訂閱
各位给我看一下下面的程序:
这个小程序主要是用来实现QQ 自动登陆,可运行过程中出现这样的问题
1. 如果QQ 用户登陆 的窗口没有打开,则会运行QQ ,但是QQ的窗口弹出来之后,却不在往下执行,为什么?
2.如果QQ的登陆窗口已打开,则会往QQ号码框,和密码框里添数据,可运行的结果老提示我密码不对,不知错在哪?
参数说明:
QQinfo 中存的是QQ 的信息
QQinfo.QQpath 里是QQ程序的路径
QQinfo.QQ 里是QQ的QQ 号码
QQinfo.QQpass 里是QQ 密码
QQ版本 :QQ2006贺岁版
//----------------------------------------------------------------------------------------------------------
HWND qqhand;
qqhand = ::FindWindow(0,"QQ用户登录");

if(!qqhand) //如果QQ 没有打开,则启动他
{
ShellExecute(0,NULL,
QQinfo.QQpath.c_str(),
"","",SW_SHOW
);
qqhand = ::FindWindow(0,"QQ用户登录"); //为QQ弄一个句柄


}

HWND chand = GetDlgItem(qqhand,0x8a); //获取QQ的号码框句柄
//HWND chand = FindWindowEx(qqhand,NULL,"ComboBox",NULL);
if(chand)
{



char* s= QQinfo.QQ.c_str();


SendMessage(chand,WM_SETTEXT,0,(LPARAM)(s)); //设置QQ号码


//获取qq密码框的句柄
HWND Hmmk = GetDlgItem(qqhand,0x0);
if(Hmmk)
{
char* QQpass = QQinfo.QQpass.c_str();


//发送密码
for(int i=0; i {
::SendMessage(Hmmk,WM_CHAR,(WPARAM)(TCHAR(*QQpass )),0);


}

//单击登陆
HWND HLoginButton = GetDlgItem(qqhand,0x3ea0);
SendMessage(HLoginButton,BM_CLICK,0,0);

}

}
bjwdxs
一般會員


發表:4
回覆:4
積分:1
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-10-24 22:04:04 IP:218.17.xxx.xxx 未訂閱
我找到了一些原因:
HWND qqhand;
qqhand = ::FindWindow(0,"QQ用户登录");


if(!qqhand) //如果QQ 没有打开,则启动他
{
ShellExecute(0,NULL,
QQinfo.QQpath.c_str(),
"","",SW_SHOW
);
for(char i=1; i<=QQinfo.QQpass.Length(); i )
::SendMessage(Hmmk,WM_CHAR,(WPARAM)(TCHAR(QQinfo.QQpass[i])),0);


}
//单击登陆
HWND HLoginButton = GetDlgItem(qqhand,0x3ea0);
SendMessage(HLoginButton,BM_CLICK,0,0);
}


}

关于第一点: QQ若没有运行,然后运行他, 我想QQ运行,加载内存要时间,所以要等一下


第2点:
程序改了一点: 用spy 能看到给QQ密码框发的消息WM_CHAR ,但是登陆还是提示有问题,谁能给我看一下
系統時間:2024-04-25 6:13:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!