【发布时间】:2010-07-13 13:03:18
【问题描述】:
有没有一种实用的方法可以从 .NET 在 Windows 版 Pidgin 中设置全局状态消息?
Dbus 在 Windows 版本的 Pidgin 中不可用。
搜索 SO 和网络发现了一些有用的提示,例如“用 C# 重写 libpurple”,这可能有点超出我对这个项目的时间/热情水平...
谢谢
【问题讨论】:
有没有一种实用的方法可以从 .NET 在 Windows 版 Pidgin 中设置全局状态消息?
Dbus 在 Windows 版本的 Pidgin 中不可用。
搜索 SO 和网络发现了一些有用的提示,例如“用 C# 重写 libpurple”,这可能有点超出我对这个项目的时间/热情水平...
谢谢
【问题讨论】:
写一个plugin 怎么样,让它公开一种方法让你的其他程序将状态传递给它。可能是您将状态写入的文件,也可能是本地 tcp 端口(如果您可以在插件中执行此操作)。
【讨论】:
您是否考虑过使用 C# 简单地模拟 Pidgin 窗口的键盘输入?
您需要以编程方式找到 Pidgin 窗口,然后通过向该窗口句柄发送模拟键盘输入来设置您的状态。
一个很好的微软例子,说明它是如何使用计算器完成的:
http://msdn.microsoft.com/en-us/library/ms171548.aspx
我记得,如果您只需将主窗口(好友列表)置于焦点位置,开始输入,然后按 Enter,Pidgin 就会设置您的状态。模拟这个键盘输入应该很简单。
一个肮脏的解决方案(Pidgin 的未来版本可能会破坏),是的,但肯定比编写插件或制作自己的 libpurple 包装器容易得多。
【讨论】: