OCS 2007(即Microsoft Office Communicators Server 2007) 是微软2007年推出的一款非常重要的即时通讯软件,她汇集了多方即时通讯、多方语音聊天、多方视频会议等众多功能,同时还提供了强大的二次开发接口,以便用户进一步去扩展、去开拓。
下面,我将逐惭就OCS2007二次开发过程中的一些体会,感受表达出来,与读者共享。
今天的主题是,用户如何自定义在线状态。
在OCS2007中,主要有三种基础状态:Online、Busy、Do Not Disturb ,这些状态是根据Availability 属性决定自定义的状态显示哪一个图标。定制自定义状态的核心是:(1)配置自定义状态的XML文件;(2)配置文件在注册表中进行注册。下面将一步一步地介绍如何进行这一扩展。
一、定义XML配置文件,如下例:
二、在IIS中发布该XML文件,在IIS中创建一个网站或者一个虚拟目录,然后将该XML文件放入此虚拟目录中应该就可以了(确认:在IIS中选中这个XML文件,右键,在浏览器中浏览,看是否能在IE中正确打开,如果这个地址需要发布出去共多人使用,别人不能使用时,请将此地址加入IE的信任站点中即可)。如图:

IIS发布方式可以有HTTP、HTTPS这两种方式(如果为HTTPS,则必须将该站点加入IE的信任站点列表中)。
说明:发布方式还可以通过文件共享的方式,但不推荐这种方式。
三、在注册表注册配置文件:打开注册表,找到HKLM\software\Policies\Microsoft\Communicator 创建一字符串项CustomStateURL其值就是在IIS中发布的XML文件的URL,比如:http://localhost/OcsConfig/CustomStateURL.XML,如图:

四、退出OCS2007客户端,重新登录,令人心动的功能是不是就出来了呢。

最后说明两点:
1、OCS2007中,最多可以定义四种自定义状态。
2、每种自定义状态的最大长度不能超过64个字符。
3、在XML文件中的LCID,它是用来标识不同语言版本的OC,英语美国:1033;中国大陆:2052;中国香港:3076。
4、XML文件配置项是大小写敏感的,其中availability这个属性,我试验过了,如果写成Availability 将不能生效。其它属性没有检验过。
下面,我将逐惭就OCS2007二次开发过程中的一些体会,感受表达出来,与读者共享。
今天的主题是,用户如何自定义在线状态。
在OCS2007中,主要有三种基础状态:Online、Busy、Do Not Disturb ,这些状态是根据Availability 属性决定自定义的状态显示哪一个图标。定制自定义状态的核心是:(1)配置自定义状态的XML文件;(2)配置文件在注册表中进行注册。下面将一步一步地介绍如何进行这一扩展。
一、定义XML配置文件,如下例:
<?xml version="1.0" encoding="utf-8" ?>
<customStates>
<customState ID="1" availability="online">
<activity LCID="2052"> 下雪啦!</activity>
</customState>
<customState ID="2" availability="do-not-disturb">
<activity LCID="2052">会议中......</activity>
</customState>
<customState ID="3" availability="busy">
<activity LCID="2052">OCS2007 研究中......</activity>
</customState>
</customStates>
</customStates>
<customStates>
<customState ID="1" availability="online">
<activity LCID="2052"> 下雪啦!</activity>
</customState>
<customState ID="2" availability="do-not-disturb">
<activity LCID="2052">会议中......</activity>
</customState>
<customState ID="3" availability="busy">
<activity LCID="2052">OCS2007 研究中......</activity>
</customState>
</customStates>

二、在IIS中发布该XML文件,在IIS中创建一个网站或者一个虚拟目录,然后将该XML文件放入此虚拟目录中应该就可以了(确认:在IIS中选中这个XML文件,右键,在浏览器中浏览,看是否能在IE中正确打开,如果这个地址需要发布出去共多人使用,别人不能使用时,请将此地址加入IE的信任站点中即可)。如图:

IIS发布方式可以有HTTP、HTTPS这两种方式(如果为HTTPS,则必须将该站点加入IE的信任站点列表中)。
说明:发布方式还可以通过文件共享的方式,但不推荐这种方式。
三、在注册表注册配置文件:打开注册表,找到HKLM\software\Policies\Microsoft\Communicator 创建一字符串项CustomStateURL其值就是在IIS中发布的XML文件的URL,比如:http://localhost/OcsConfig/CustomStateURL.XML,如图:

四、退出OCS2007客户端,重新登录,令人心动的功能是不是就出来了呢。

最后说明两点:
1、OCS2007中,最多可以定义四种自定义状态。
2、每种自定义状态的最大长度不能超过64个字符。
3、在XML文件中的LCID,它是用来标识不同语言版本的OC,英语美国:1033;中国大陆:2052;中国香港:3076。
4、XML文件配置项是大小写敏感的,其中availability这个属性,我试验过了,如果写成Availability 将不能生效。其它属性没有检验过。
分类:
其它
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义