即时通讯状态指示器 - AIM, Yahoo, ICQ, MSN, Skype ...





5.00/5 (12投票s)
即时通讯状态指示器是一种简单可靠的方法,可以检查特定即时通讯帐户(如 Yahoo、MSN、AOL、Skype 和 ICQ)的在线状态。
引言
即时通讯状态指示器是一种简单可靠的方法,可以检查特定即时通讯帐户(如 Yahoo、AOL、MSN、Skype 和 ICQ)的在线状态。您可以创建自己的即时通讯状态指示器,无需登录到特定的通讯工具即可知道谁在线。
该指示器会要求提供协议(通讯工具名称)和屏幕名称(通讯工具 ID),并返回一个图像 URL,指示用户是联机还是离线。
下图显示了它的外观。
Using the Code
创建和使用即时通讯状态指示器非常简单。以下是创建即时通讯状态指示器的步骤。
- 步骤 1. 打开 Microsoft Visual Studio。创建一个网站并将其命名为 IMStatusIndicator。
- 步骤 2. 创建一个 .aspx 文件并将其命名为 IMStatusChech.aspx。
- 步骤 3. 设计如下所示的表单。
- 步骤 4. 并编写以下代码
// Now double click on btnGetStatus button and write
// the code below
protected void btnGetStatus_Click(object sender, EventArgs e)
{
string Status = "";
if (txtScreenName.Text.Trim() != string.Empty)
{
Status = GetIMStatus();
}
lblStatus.Text = Status;
}
private string GetIMStatus()
{
if (rdbYahoo.Checked)
{
return GetIMStatus("yahoo", txtScreenName.Text);
}
else if (rdbMsn.Checked)
{
return GetIMStatus("msn", txtScreenName.Text);
}
else if (rdbAol.Checked)
{
return GetIMStatus("aol", txtScreenName.Text);
}
else if (rdbICQ.Checked)
{
return GetIMStatus("icq", txtScreenName.Text);
}
else if (rdbSkype.Checked)
{
return GetIMStatus("skype", txtScreenName.Text);
}
else return "";
}
// GetIMStatus is an overloaded method that asks for protocot, name of the messenger and
// messenger id and returns the online/offline image that tells the status.
private string GetIMStatus(string Protocol, string ScreenName)
{
string Status = "";
switch (Protocol)
{
case "yahoo":
Status = "<img src=\"http://opi.yahoo.com/online?u=" +
ScreenName +"&m=g&t=0\" border=\"0\">";
break;
case "msn":
Status = "<img src=\"http://www.funnyweb.dk:8080/msn/"+
ScreenName +"/onurl=www.braintechnosys.com/images/" +
"msnonline.png/offurl=www.braintechnosys.com/images/msnoffline.png/" +
"unknownurl=www.braintechnosys.com/images/msnoffline.png\"
align=\"absmiddle\">";
break;
case "aol":
Status = "<img src=\"http://big.oscar.aol.com/"+
ScreenName +"?on_url=http://www.aim.com/remote/gr/" +
"MNB_online.gif&off_url=http://www.aim.com/remote/gr/MNB_offline.gif\"
style=\"border: none;\" alt=\"My status\" />";
break;
case "icq":
Status = "<img src=\"http://web.icq.com/whitepages/online?icq=" +
ScreenName +"&img=26\" />";
break;
case "skype":
Status = "<img src=\"http://mystatus.skype.com/smallicon/" +
ScreenName + "border=\"1\" />";
break;
}
return Status;
}
现在运行项目,选择其中一种协议、通讯工具并输入通讯工具 ID,单击按钮并获取状态作为结果。
这是输出结果.........