QQ WinForm 自动登录QQ实现(当登陆了QQ,想让自己的应用程序实现登陆的方法)

先建立个类QQInfo  ,及添加引用---Com组件,SSOAxCtrlForPTLoginLib控件(装了QQ才会有)

 

ContractedBlock.gif ExpandedBlockStart.gif Code
class QQInfo
        {
            
public uint uin;
            
public string name;
            
public ushort face;
            
public string nick;
            
public byte gender;
            
public string key;
        }

 

然后建立一个List,登陆了多少个QQ,List里面就会有多少个QQInfo,而key则是我们想要的。

例如我们建立 List<QQInfo> q_aUinList = new List<QQInfo>();

关键代码如下,此时List里面就是大家想要的东西了。

 

ContractedBlock.gif ExpandedBlockStart.gif Code
public void GetQQinfoList(){

 SSOForPTLoginClass AutoQQLogin 
= new SSOAxCtrlForPTLoginLib.SSOForPTLoginClass();
            ITXSSOData AA 
= AutoQQLogin.CreateTXSSOData();
            AutoQQLogin.InitSSOFPTCtrl(
0, AA);
            ITXSSOData g_vOptData 
= AutoQQLogin.CreateTXSSOData();
            ITXSSOData Q 
=AutoQQLogin.DoOperation(1, g_vOptData);
            ITXSSOArray N
= Q.GetArray("PTALIST");
           U 
= N.GetSize();

           
for (uint V = 0; V < U; V++)
           {
               ITXSSOData C 
= N.GetData(V);
               
uint S = C.GetDWord("dwSSO_Account_dwAccountUin");
               ITXSSOArray G 
= C.GetArray("SSO_Account_AccountValueList");
               
string T = G.GetStr(0);

 

               
ushort L = 0;
               
try
               {
                   L 
= C.GetWord("wSSO_Account_wFaceIndex");
               }
               
catch
               {
                   L 
= 0;
               }
               
string M = "";
               
try
               {
                   M 
= C.GetStr("strSSO_Account_strNickName");
               }
               
catch
               {
                   M 
= "";
               }
               
byte J = 0;
               
try
               {
                   J 
= C.GetByte("cSSO_Account_cGender");
               }
               
catch
               {
                   J 
= 0;
               }
               
uint K = 0;
               
try
               {
                   K 
= C.GetDWord("dwSSO_Account_dwUinFlag");
               }
               
catch
               {
                   K 
= 0;
               }
               ITXSSOBuffer D 
= C.GetBuf("bufGTKey_PTLOGIN");
               ITXSSOBuffer E 
= C.GetBuf("bufST_PTLOGIN");
               var I 
= "";
               
uint A = E.GetSize();
               
for (uint O = 0; O < A; O++)
               {
                
 
                   
string B =Convert.ToString( E.GetAt((uint)O),16).PadLeft (2,'0');
                    I 
+= B;
               }
                

               QQInfo NewInfo 
= new QQInfo(); //将所获得的信息存入List
               NewInfo.uin = S;
               NewInfo.name 
= T;
               NewInfo.face 
= L;
               NewInfo.gender 
= J;
               NewInfo.nick 
= M;
               NewInfo.key 
= I;
               q_aUinList.Add(NewInfo);

          
             
           }

}

 

至于clientkey如何构造Get发送,不在本贴讨论的范畴了,大家抓下包就会啦。

转载于:https://www.cnblogs.com/wmbit/archive/2009/10/19/1586027.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值