zoukankan      html  css  js  c++  java
  • C#在Winform程序中显示QQ在线状态

    首先,引入必要的命名空间

    using System.Windows.Forms;  using System.Net;

    其次,在Form中拖入一个PictureBox控件,并设置其SizeMode为AutoSize。同时拖入一个Timer控件。

    然后在窗体构造函数中写入代码

    timer1.Tag = 0;
    timer1.Interval = 10;
    timer1.Enabled = true;

    然后在Timer的Tick事件中写入代码

    Timer timer = (Timer)sender; if (timer.Tag != null)
    {
        if ((int)timer.Tag == 0)
        {
            timer.Enabled = false;
            timer.Tag = 1;
            try         {
                Image img = Image.FromStream(WebRequest.Create(qqgif).GetResponse().GetResponseStream());
                pictureBox1.Image = img;
            }
            catch         {
                pictureBox1.Image = Properties.Resources.pa;
            }
            timer.Interval = 1000 * 10;
            timer.Enabled = true;
        } 
        else     {
            try         {
                Image img = Image.FromStream(WebRequest.Create(qqgif).GetResponse().GetResponseStream());
                pictureBox1.Image = img;
            }
            catch         {
                pictureBox1.Image = Properties.Resources.pa;
            }
        }
    }

    最后,在PictureBox的Click事件中写入代码

    System.Diagnostics.Process.Start("iexplore.exe", qqmsg);

    以上代码中 qqgif和qqmsg 的定义

    private const string qqgif = "http://wpa.qq.com/pa?p=2:303071318:50"; private const string qqmsg = "tencent://message/?uin=303071318";



    PS:如上过程,在获取QQ在线图标时会有点卡的感觉,可以修改成多线程方式来解决。
  • 相关阅读:
    ArrayList源码解析
    HashSet的实现原理
    Spark Streaming之四:Spark Streaming 与 Kafka 集成分析
    Spark Streaming之三:DStream解析
    Spark Streaming之二:StreamingContext解析
    curl与wget区别
    MongoDB之二(增删查改)
    Thread之九:stop
    mysql实战优化之九:MySQL查询缓存总结
    PBE加密算法
  • 原文地址:https://www.cnblogs.com/luoshupeng/p/2938407.html
Copyright © 2011-2022 走看看