/// <summary> /// 获取QQ信息 /// </summary> /// <param name="qqId">目标QQ</param> /// <param name="notCache">不使用缓存, 默认为"False",通常忽略本参数,仅在必要时使用</param> /// <returns>获取成功返回 <see cref="QQInfo"/>, 失败返回 null</returns> public QQInfo GetQQInfo(long qqId, bool notCache = true) { string result = CQP.CQ_getStrangerInfo(_authCode, qqId, notCache).ToString(Encoding.ASCII); if (string.IsNullOrEmpty(result)) { return(null); } using (BinaryReader binary = new BinaryReader(new MemoryStream(Convert.FromBase64String(result)))) { try { QQInfo qqInfo = new QQInfo(); qqInfo.Id = binary.ReadInt64_Ex(); qqInfo.Nick = binary.ReadString_Ex(_defaultEncoding); qqInfo.Sex = (Sex)binary.ReadInt32_Ex(); qqInfo.Age = binary.ReadInt32_Ex(); return(qqInfo); } catch { return(null); } } }
private void printOutput(QQInfo info) { if (textBox1.InvokeRequired) { ChatController.sendQQChatMessage printEvent = new ChatController.sendQQChatMessage(printOutput); Invoke(printEvent, (object)info); } else { textBox1.AppendText("\r\nHM_11 : " + info.info + "\r\n"); } }
public QQChats() { InitializeComponent(); Info = new QQInfo(); Binding QQNamebinding = new Binding(); QQNamebinding.Source = Info; QQNamebinding.Path = new PropertyPath("QQName"); BindingOperations.SetBinding(this.QQName, TextBlock.TextProperty, QQNamebinding); Binding QQSaysbinding = new Binding(); QQSaysbinding.Source = Info; QQSaysbinding.Path = new PropertyPath("QQSays"); BindingOperations.SetBinding(this.QQSays, TextBlock.TextProperty, QQSaysbinding); }
/// <summary> /// 获取QQ信息 /// </summary> /// <param name="qqId">目标QQ</param> /// <param name="notCache">不使用缓存, 默认为"False",通常忽略本参数,仅在必要时使用</param> /// <returns>获取成功返回 <see cref="QQInfo"/>, 失败返回 null</returns> public QQInfo GetQQInfo(long qqId, bool notCache = false) { string result = CQP.CQ_getStrangerInfo(_authCode, qqId, notCache).ToString(Encoding.ASCII); if (string.IsNullOrEmpty(result)) { return null; } using (BinaryReader binary = new BinaryReader(new MemoryStream(Convert.FromBase64String(result)))) { QQInfo qqInfo = new QQInfo { Id = binary.ReadInt64_Ex(), Nick = binary.ReadString_Ex(_defaultEncoding), Sex = (Sex)binary.ReadInt32_Ex(), Age = binary.ReadInt32_Ex() }; return qqInfo; } }
private void btnAdd_Click(object sender, EventArgs e) { frmAddQQ frmaddqq = new frmAddQQ(); //实例化“添加QQ账号”窗体 if (frmaddqq.ShowDialog() == DialogResult.OK) //判断窗体的返回值 { QQInfo qqinfo = frmaddqq.GetQQInfo(); //获取添加的QQ账号信息 for (int i = 0; i < lvInfo.Items.Count; i++) //遍历ListView控件中的所有项 { if (qqinfo.Number == lvInfo.Items[i].Text) //判断遍历到的项与要添加的项是否相同 { MessageBox.Show("号码已存在"); return; } } this.qqList.Add(qqinfo); //将要添加的QQ账号添加到QQ账号列表中 initListView(); //重新初始化ListView控件中的项 QQFilePath.SetQQList(qqInfoPath, qqList); //将QQ账号列表中的数据写入到XML文件 } }
public string deal(QQInfo info) { string sentence = info.info; int sym = sentence.IndexOf("》》"); if (sym < 0) { // not found return(getAnswer(sentence)); } else { string res = ""; string question = sentence.Substring(0, sym); string answer = sentence.Substring(sym + 2); string author = info.qq.ToString(); addLearn(question, answer, author); return(res); } }
private void btnStart_Click(object sender, EventArgs e) { string qqPath = frmSet.GetQQRegistryValue(QQRegister.STR_QQ_REG_KEY_PRGRM_PATH); //获取注册表中QQ路径信息 if (string.IsNullOrEmpty(qqPath)) //判断QQ路径是否为空 { MessageBox.Show(QQRegister.STR_QQ_WARN_PRGRM_PATH_NULL); return; } if (!qqPath.ToLower().EndsWith("qq.exe"))//判断QQ路径是否正确 { MessageBox.Show(QQRegister.STR_QQ_WARN_PRGRM_PATH_ERR); return; } foreach (ListViewItem qqItem in lvInfo.Items) //遍历ListView列表 { QQInfo qqinfo = qqList[qqItem.Index]; //记录遍历到的QQ账号 if (qqItem.Checked) //判断QQ账号是否选中 { qqinfo.IsChecked = true; //设置选中状态 string strNum = qqinfo.Number; //记录QQ账号 string strPwd = qqinfo.Pwd; //记录QQ密码,并加密 bool blHide = qqinfo.IsHide; //记录QQ隐身状态 qqinfo.LastLoginTime = DateTime.Now.ToString(); //记录QQ最后登录时间 try { Process.Start(qqPath, "/START QQUIN:" + strNum + " PWDHASH:" + strPwd + " /STAT:" + (blHide ? "40" : "41"));//启动遍历到的QQ账号 } catch { MessageBox.Show("本机还没有安装QQ,请安装之后再使用本软件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { qqinfo.IsChecked = false;//设置未选中状态 } } }