基本信息
源码名称:C# 实现微信扫描二维码 自动登陆 winform应用程序 示例源码
源码大小:0.53M
文件格式:.zip
开发语言:C#
更新时间:2017-11-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

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

本次赞助数额为: 2 元 
   源码介绍
机器人登录




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using UtilWx;
namespace wxSerfendRbt
{
    public partial class frmLogin : Form
    {
        public frmLogin()
        {
            InitializeComponent();
        }

        private void frmLogin_Load(object sender, EventArgs e)
        {

        }
        private void frmLogin_Shown(object sender, EventArgs e)
        {
            Program.wx = new WxLib();

            Program.wx.QrCodeIsOutofdate  =ReloadQrCode;
            Program.wx.QrCodeScanCompleted  = ReloadUserAvatar;
			Program.wx.UserLogin  = ShowUserList;

			this.ReloadQrCode();
            
        }

		#region WxLibEvent
		private delegate void UserLoginIn(object sender, WxLib.UserLoginEventArgs e);
		private void ShowUserList(object sender, WxLib.UserLoginEventArgs e)
		{
			if (this.ipLoginInfo.InvokeRequired)
			{
				UserLoginIn s = new UserLoginIn(ShowUserList);
				this.Invoke(s, new object[] { sender, e });
			}
			else
			{
				this.Hide();
				Form f = new FrmMain();
				f.ShowDialog();
				this.Dispose();
			}
		}

		private delegate void AvatarLoad(object sender,WxLib.QrCodeScanCompletedEventArgs e);
        private void ReloadUserAvatar(object sender, WxLib.QrCodeScanCompletedEventArgs e)
        {
            if(this.ipLoginInfo .InvokeRequired)
            {
                AvatarLoad s = new AvatarLoad(ReloadUserAvatar);
                this.Invoke(s, new object[] { sender, e });
            }
            else
            {
				QrCodeShow.Image = e.userAvatar;
                ipLoginInfo.Text = "在手机或设备上点击确认...";
            }
        }
        private bool firstRun = true;
        private delegate void QrCodeLoad();
        private void ReloadQrCode()
        {
            if(this.ipLoginInfo.InvokeRequired)
            {
				System.Threading.Thread.Sleep(2000);
				QrCodeLoad s = new QrCodeLoad(ReloadQrCode);
				try
				{
					this.Invoke(s);
				}
				catch { }
                
            }
            else
            {
				
				ipLoginInfo.Text = "加载二维码...";
                string rel = Program.wx.GetLoginQrCode(out Image tmpImg,firstRun);
				ipLoginInfo.Text = rel;
				if (tmpImg != null)
				{
					firstRun = false;
					QrCodeShow.Image = tmpImg;
				}
				else
				{
					System.Threading.Thread QrCodeLoader = new System.Threading.Thread(new System.Threading.ThreadStart(ReloadQrCode))
					{
						IsBackground = true
					};
					QrCodeLoader.Start();
				}
                
            }

        }
		#endregion
	}
}