为什么www.accountap.qq.cc...

www..qq.c的关注&(120)问题补充&&
com/download/e/9/d/e9d-45b8-80e8-983a48d5e1bd/msicuu21,从左往右一共四个按钮.microsoft,运行,找到QQ2009: download:&#92.microsoft,选中它;Windows Installer Clean Up下有个msicuu.exe(或者开始菜单里也会有个快捷方式Windows Install Clean Up).com/...u2.exe2、安装后在C;Program Files&#92,点击左边第三个Remove删除、下载微软提供的Windows Installer**实用工具
A明天更好 &
•回答
•回答
•回答
•回答
•回答
下载一个最新版本的QQ,然后安装到另一个盘或者在命名一个文件夹,避免和以前的重复。
yhong8309&
你百度HI我,我可以和你详细说怎么安装QQ,下面是一个过程简介,额,我要是写得明白,你可以照做,一般可以解决问题,如果我哪里写得不明白,你可以百度HI我.你可以用免安装版QQ,下载一你可以用免安装版QQ,下载一个云端软件平台,在上面搜索QQ2010,额,下载一个正式版就可以用了,云端的地址就是直接在百度搜索云端软件平台,第一个就寿网,你可以百度HI我,我再去想办法. 额,用云端主要就是可以省略安装过程 回避了安装过程,所以下载安装完云端在云端的搜索栏上,搜索QQ,下载下来,直接就可以用,这样就回避了安装过程.,额,云端安装过程,会看见选择C,D盘这样的,这里就是问你,如果下载QQ,要放在哪个硬盘的意思,你随意了,一般直接下一步就好了.有问题,你可以百度HI我,我再去想办法.
建议用360安全卫士,到百度一搜就能下载,对管理软件有很大帮助
猜你感兴趣
服务声明: 信息来源于互联网,不保证内容的可靠性、真实性及准确性,仅供参考,版权归原作者所有!Copyright &
Powered by检测本机是否登录了指定QQ账号
有时候做程序,喜欢把程序的注册与用户QQ号码绑定,程序仅允许登录成功了指定QQ账号时才可使用,
为了实现这个目的,有人用API取QQ窗口、QQ托盘图标上的QQ账号,
但是这个方法写起来比较麻烦,如果用户有意玩玩的话,也可以自己在你软件获取之前先用API修改你要获取的目标信息!
还有一种方法就是内存读取,当然要找到一个QQ登录成功后存放QQ号码的地址,基址肯定是不存在的,再加之QQ更新频繁,
所以内存读取的办法也不太好,
为了实现这个目的,还有一种办法那就是利用QQ网页自身的功能,这种方法既方便又准确,下面就来说下原理:
打开: http://xui./cgi-bin/qlogin
我们会发现这也页面会自动获取我们的已登录的QQ信息,并可以实现快速登录,分析之:
关键的东西:
&script src=&/ptlogin/ac/v5/js/xui.js?v=1.2&&&/script&
通过分析这个js,我们找到如下2个重要的函数:
&function ptui_qInit() &这个函数的作用是初始化SSOAxCtrlForPTLogin.SSOForPTLogin2对象,创建一个ActiveXObject对象
&hummer_loaduin() & & 这个函数就是真正的通过 SSOAxCtrlForPTLogin这个COM来获取已登录QQ信息的,
&到此,我们试着自己用程序来调用 SSOAxCtrlForPTLogin的com对象,但是发现失败,原因下面说,
&既然不能自己调用 SSOAxCtrlForPTLogin对象,那先试试将页面保存为本地在打开看看什么情况,结果如下:
&快速登录失败,请您返回重试或切换到普通登录模式。&&
很明显, SSOAxCtrlForPTLogin对象是要判断当前url的,如果url不是来自以下域名的都不能初始化成功:
var site=[&&,&&,&&,&&,&&,&&,&&,&&,&&,&&];
好了,既然不能自己用本地页面,也不能自己写程序调用它的COM,那我们就直接来访问它获取它页面上已经获取好的信息吧:
同时附上已经格式好了的 &xui.js代码,有兴趣的可以看看
xui.jsCode highlighting produced by Actipro CodeHighlighter (freeware)/--&STR_QLOGIN=1;STR_QLOGIN_OTHER_ERR=2;STR_QLOGIN_SELECT_TIP=3;STR_QLOGIN_NO_UIN=4;STR_QLOGIN_SELECT_OFFLINE=5;STR_QLOGINING=6;
function ptui_mapStr(B){
for(i=0;i&B.i++)
var A=document.getElementById(B[i][1]);
if(A!=null)
if(&A&==A.nodeName||&U&==A.nodeName||&OPTION&==A.nodeName||&LABEL&==A.nodeName||&P&==A.nodeName)
if(A.innerHTML==&&)
A.innerHTML=ptui_str(B[i][0])
if(&INPUT&==A.nodeName)
if(A.value==&&)
A.value=ptui_str(B[i][0])
if(&IMG&==A.nodeName)
A.alt=ptui_str(B[i][0])
function ptui_str(A){
if(A&=0&&A&g_strArray.length)
{return g_strArray[A]}
var g_labelMap=new Array([STR_QLOGIN,&loginbtn&],[STR_QLOGIN_SELECT_TIP,&qlogin_select_tip&]);
ptui_mapStr(g_labelMap);
function getArgs(){
var B=new Object();
var F=location.href.substring(location.href.indexOf(&/qlogin?&)+8);
var E=F.split(&&&);
for(var C=0;C&E.C++)
var G=E[C].indexOf(&=&);
var A=E[C].substring(0,G);
var D=E[C].substring(G+1);
D=decodeURIComponent(D);
var params=getArgs();
var g_qtarget=params.
var g_domain=params.
var g_jumpname=params.
var g_param=params.
var site=[&&,&&,&&,&&,&&,&&,&&,&&,&&,&&];
for(var i=0;i&site.i++)
if(site[i]==g_domain)
{flag=true}
g_domain=&&
var q_bInit=
var q_hummerQtrl=
var g_vOptData=
var q_aUinList=new Array();
function ptui_qInit(){
if(q_bInit)
if(!window.ActiveXObject)
q_hummerQtrl=new ActiveXObject(&SSOAxCtrlForPTLogin.SSOForPTLogin2&);
var A=q_hummerQtrl.CreateTXSSOData();
q_hummerQtrl.InitSSOFPTCtrl(0,A);
g_vOptData=q_hummerQtrl.CreateTXSSOData();
hummer_loaduin();
if(q_aUinList.length&=0)
msg(ptui_str(STR_QLOGIN_NO_UIN));
return false
if(ptui_buildUinList)
{ptui_buildUinList(q_aUinList)}
document.cookie=&ptui_qstatus=2;domain=ptlogin2.&+g_domain
q_hummerQtrl=
document.cookie=&ptui_qstatus=3;domain=ptlogin2.&+g_
msg(ptui_str(STR_QLOGIN_OTHER_ERR));
ptui_reportAttr(89217,true)
function list(){
ptui_qInit();
xui_report()
function ptui_buildUinList(){
var E=document.getElementById(&list_uin&);
if(null==E)
var A=q_aUinList.length&5?5:q_aUinList.
for(var C=0;C&A;C++)
var F=q_aUinList[C];
if(q_aUinList.length==1)
{D='style=&display:&'}
{B=&checked='checked'&}
G+=&&li&&input type='radio' name='q_uin' id='uin_&+F.uin+&' &+B+D+& /&&span&&+F.nick.replace(/&/g,&&amp&).replace(/&/g,&&lt&).replace(/&/g,&&gt&)+&&(&+F.name+&)&/span&&/li&&
E.innerHTML=G
function onQloginSelect(){
for(var C=0;C&q_aUinList.C++)
var D=q_aUinList[C];
var B=document.getElementById(&uin_&+D.uin);
if(B!=null)
if(B.checked)
hummer_loaduin();
var A=hummer_getUinObj(D.uin);
if(A==null)
msg(ptui_str(STR_QLOGIN_SELECT_OFFLINE),true);
document.getElementById(&qlogin_loading&).innerHTML='&img src=/735.gif& align=&absmiddle& /&'+ptui_str(STR_QLOGINING);
document.getElementById(&loginbtn&).className=&btn_gray&;
document.getElementById(&loginbtn&).style.color=&gray&;
hummer_login(A,g_domain,g_jumpname,g_param)
function hummer_loaduin(){
q_aUinList.length=0;
var P=q_hummerQtrl.DoOperation(1,g_vOptData);
if(null==P)
var M=P.GetArray(&PTALIST&);
var T=M.GetSize();
var F=document.getElementById(&list_uin&);
for(var U=0;U&T;U++)
var C=M.GetData(U);
var R=C.GetDWord(&dwSSO_Account_dwAccountUin&);
var J=C.GetByte(&cSSO_Account_cAccountType&);
G=C.GetArray(&SSO_Account_AccountValueList&);
S=G.GetStr(0)
K=C.GetWord(&wSSO_Account_wFaceIndex&)
L=C.GetStr(&strSSO_Account_strNickName&)
var D=C.GetBuf(&bufGTKey_PTLOGIN&);
var E=C.GetBuf(&bufST_PTLOGIN&);
var A=E.GetSize();
for(var N=0;N&A;N++)
var B=E.GetAt(N).toString(&16&);
if(B.length==1)
var H={uin:R,name:S,type:J,face:K,nick:L,key:I};
q_aUinList[U]=H
switch(q_aUinList.length)
case 0:ptui_reportAttr(77430,false);
case 1:ptui_reportAttr(77431,false);
default:ptui_reportAttr(77432,false)
catch(Q){}
function hummer_getUinObj(B){
for(var A=0;A&q_aUinList.A++)
var C=q_aUinList[A];
if(C.uin==B)
{return C}
return null
function unloadpage(){
document.domain=g_
parent.document.body.onbeforeunload=function(){};
parent.document.body.onunload=function(){};
for(var A=0;A&parent.parent.frames.A++)
parent.parent.frames[A].onunload=function(){};
parent.parent.frames[A].onbeforeunload=function(){}
if(parent.parent!=top)
for(var A=0;A&parent.parent.parent.frames.A++)
parent.parent.parent.frames[A].onunload=function(){};
parent.parent.parent.frames[A].onbeforeunload=function(){}
catch(B){}
function hummer_login(E,D,A,F){
{A=&jump&}
var C=&http://ptlogin2.&+D+&/&+A+&?clientuin=&+E.uin+&&clientkey=&+E.key+&&keyindex=9&;
if(F!=null&&F!=&&)
var B=decodeURIComponent(F);
if(B.indexOf(&#&)&-1)
B=B.replace(/#/g,&%23&)
C+=(&&&+B)
switch(parseInt(g_qtarget))
case 0:unloadpage();parent.location.href=C;
case 1:top.location.href=C;
case 2:unloadpage();parent.parent.location.href=C;
default:top.location.href=C
function msg(A){
var C=document.getElementById(&qlogin_loading&);
if((C.style.display!=&none&)&&(document.getElementById(&qlogin&).style.display!=&none&))
C.innerHTML='&span style=&color:#cc0000;&&'+A+&&/span&&;C.style.display=&&
catch(B){}
function xui_report(B){
if(Math.random()&0.001)
var A=new Date();
var C=location.hash.substr(1,location.hash.length);
url=&/cgi-bin/r.cgi?flag1=6000&flag2=1&flag3=2&1=&+(A-C)+&&2=&+(A-time1);
imgTime=new Image();
imgTime.src=url
function ptui_reportAttr(C,B){
if((B==false)&&(Math.random()&0.001))
url=&http://ui.ptlogin2.&+g_domain+&/cgi-bin/report?id=&+C;
var A=new Image();
list();/* &|xGv00|0da571e21b5c15cc81a9130 */
接着我们来直接实现程序吧,代码如下:
CheckLoginedQQCode highlighting produced by Actipro CodeHighlighter (freeware)/--&using S
using System.Windows.F
namespace CheckLoginedQQ
public class Checker
public Checker()
private HtmlDocument D
/// &summary&
/// 初始化
/// &/summary&
/// &returns&&/returns&
public bool Initialize()
WebBrowser browser = new WebBrowser();
browser.Url = new Uri(&http://xui./cgi-bin/qlogin&);
while (browser.ReadyState!=plete)
Application.DoEvents();
if (browser.Document.Url.AbsoluteUri == &http://xui./cgi-bin/qlogin&)
Document = browser.D
/// &summary&
/// 检测登陆账号
/// &/summary&
/// &param name=&uin&&&/param&
/// &returns&&/returns&
public bool QQisLogined(string uin)
HtmlElementCollection elements=Document.GetElementsByTagName(&input&);
foreach(HtmlElement element in elements)
string type = element.GetAttribute(&type&);
if (type != &radio&)
string name = element.GetAttribute(&name&);
if (name != &q_uin&)
string id = element.GetAttribute(&id&);
if (id == &uin_& + uin)
---------------------------------------------------------------------------------------------------------
首先用Webbrowser控件访问,http://xui./cgi-bin/qlogin
通过ReadState属性判断页面是否加载完成
通过Document.url判断加载时候为http://xui./cgi-bin/qlogin页面
然后返回真或假
Initialize() == true 之后通过Webbrowser.Document来获取页面上的QQ信息,具体实现看代码!
&好了,基本就是这样了,不过要注意的一点是Webbrowser是不能跨线程实例化的,因为他是一个基于COM的控件,所以必须使用 [STAThread] 管理线程
&使用示例如下:
[STAThread]
static void Main(string[] args)
CheckLoginedQQ.Checker checker = new CheckLoginedQQ.Checker();
if (checker.Initialize())
if(checker.QQisLogined(&110001&));
Console.Write(&Logined&);
Console.Write(&Not Logined&);
Console.Write(&un Initialize&);
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。}

我要回帖

更多关于 ap.qq.c 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信