Example #1
0
        static void Main(string[] args)
        {
#if NETCORE
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
#endif

            // 测试每一种控制台颜色
            //foreach (var @enum in EnumExtension.GetValues<ConsoleColor>())
            //{
            //   Console.ForegroundColor = @enum;
            //   Console.WriteLine("颜色和编码测试");
            //}

            // 获取二维码
            var qq = new WebQQClient("", "", Listener, new SimpleActorDispatcher(), new QQConsoleLogger());
            qq.LoginWithQRCode(); // 登录之后自动开始轮训

            //var qq = new WebQQClient();
            //var timeSpan = TestAction(() =>
            //{
            //    var @event = qq.LoginWithQRCode().WaitFinalEvent();
            //    if (@event.Type != QQActionEventType.EvtOK)
            //    {
            //        Console.WriteLine("xxxxxxxxxxxxxx");
            //    }
            //}, 100);
            //Console.WriteLine(timeSpan.TotalMilliseconds);

            Console.Read();
        }
Example #2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            // 获取二维码
            qq = new WebQQClient("", "", Listener, new SimpleActorDispatcher(), new QQConsoleLogger());
            qq.LoginWithQRCode(); // 登录之后自动开始轮训



            new Thread(() => {
                while (qrCodeImage == null)
                {
                }

                setQrCode(qrCodeImage);


                while (!LoginSuccess)
                {
                }

                OpenMainForm();
            })
            {
                IsBackground = true
            }.Start();
        }
Example #3
0
        private async void Login()
        {
            _cts = new CancellationTokenSource();
            btnLogin.InvokeIfRequired(() => btnLogin.Text = "取消登录");
            while (!_cts.IsCancellationRequested)
            {
                var client = new WebQQClient(notifyListener: _notifyListener, logger: new RichTextBoxLogger(tbMessage));
                var result = await client.LoginWithQRCode().WhenFinalEvent(_cts.Token).ConfigureAwait(false);

                if (result.Type == QQActionEventType.EvtOK)
                {
                    var key = client.Account.QQ.ToString();
                    if (_qqClients.ContainsKey(key))
                    {
                        client.Destroy();
                    }
                    else
                    {
                        _qqClients.Add(key, client);
                        lvQQList.InvokeIfRequired(() =>
                        {
                            AddQQToLv(client);
                        });
                    }
                }
            }
            _cts = null;
        }
Example #4
0
 private async void Login()
 {
     _cts = new CancellationTokenSource();
     btnLogin.InvokeIfRequired(() => btnLogin.Text = "取消登录");
     while (!_cts.IsCancellationRequested)
     {
         var client = new WebQQClient(notifyListener: _notifyListener, logger: new RichTextBoxLogger(tbMessage));
         var result = await client.LoginWithQRCode().WhenFinalEvent(_cts.Token).ConfigureAwait(false);
         if (result.Type == QQActionEventType.EvtOK)
         {
             var key = client.Account.QQ.ToString();
             if (_qqClients.ContainsKey(key)) client.Destroy();
             else
             {
                 _qqClients.Add(key, client);
                 lvQQList.InvokeIfRequired(() =>
                 {
                     AddQQToLv(client);
                 });
             }
         }
     }
     _cts = null;
 }