MSN Messenger 定时器加载项





3.00/5 (5投票s)
关于使用计时器进行 Messenger 加载项开发的文章
|
|
引言
这段代码是 MSN Live Messenger 的一个插件。它每秒更新 Messenger 状态上的系统时间。它有助于允许用户执行计划任务,并在源用户不可用时通知目标用户。这个概念可以广泛应用于读取 Web 服务、XML 订阅或任何数据库存储过程,以实现与服务相同的功能。
背景
当我在查看这个 MSN 插件时,我发现由于它的接口MessengerClient.dll可供开发者使用,因此存在许多隐藏的功能。人们几乎可以做任何事情,甚至可以关闭目标系统。但这篇文章表明只有接口类函数可以访问。因此,我尝试研究这个有趣的应用,因为它现在被广泛用于通信。
Using the Code
这个类TimeUpdate
实现了 Messenger 客户端类。这段代码创建了一个 Messenger 客户端对象和一个 Timer 对象。timer
被设置为每 1000 毫秒触发一次,这允许日期被更新。你甚至可以更改其他参数(例如名称、显示图片等)。 MessengerClient
库随 MSN Live Messenger 一起提供,位于c:/Program Files/MSN Messenger文件夹中。 要使用该插件,您需要启用注册表插件选项,如WindowsLiveMessengerAddin文章中所述。 我已将步骤粘贴如下。
如果您想开始在 MSN 中编程自己的新功能,您将尝试测试该插件。 这将不起作用。 如果您还记得我之前说的几句话,“默认情况下未启用”。 要启用该功能,您必须在注册表中创建或修改一个键:HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSNMessenger\AddInFeatureEnabled
必须设置为 1
。 要关闭它,您必须删除它或将其值更改为 0
。
现在通过 MSN Messenger 选项添加插件。 工具>选项>插件>添加到 Messenger。 添加 DLL 文件后,您需要通过从个人状态下拉列表中选择它来打开插件。
Private MessengerClient client = null;
Timer timer = null;
//Default initializer from interface
class public void Initialize(MessengerClient messenger)
{
Client = messenger; timer = new Timer();
timer.Elapsed += new ElapsedEventHandler(Timer_Tick);
timer.Interval = 1000;
timer.Start();
Client.Shutdown += new EventHandler(Client_ShutDown);
}
// Timer tick event
public void Timer_Tick(object sender, ElapsedEventArgs args)
{
Client.AddInProperties.PersonalStatusMessage = DateTime.Now.ToString();
}
关注点
这只是一个为了娱乐的代码,用户可能会觉得在 Messenger 中显示时间毫无用处,因为他们可以更容易地看到它。 但其目的是提供一种开发智能 Messenger 的方法,该 Messenger 可以远程执行任何任务。 大多数组织在离开时会阻止网络连接,同时保留 MSN 端口,这可能会很方便。
历史
- 2007年11月19日 - 原始版本
关于 Talha Ekram
一个代码蠕虫,只是试图干预编程的各个方面。