本文介绍了设置自定义状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我已使用Office Communicator部署指南配置自定义状态并使用客户端进行设置。特别是我想这样做是为了提供可用的自定义字符串,例如"在家工作"。这工作正常。 我有一个小应用程序,我希望能够以编程方式执行此操作,但到目前为止还没有。下面是一段示例代码。 CommunicatorAPI.Messenger communicator = new CommunicatorAPI.Messenger(); string mySignName = communicator.MySigninName; IMessengerContactAdvanced contact =(IMessengerContactAdvanced )communicator.GetContact(mySignName,communicator.MyServiceId); object [] mPP = new object ; 字符串mBusy ="在通话中"; 1: mPP [(int)PRESENCE_PROPERTY.PRESENCE_PROP_AVAILABILITY] = 3000; mPP [(int)PRESENCE_PROPERTY.PRESENCE_PROP_CUSTOM_STATUS_STRING] ="在家工作"; contact.PresenceProperties =(object)mPP; break; case 2: mPP [(int)PRESENCE_PROPERTY.PRESENCE_PROP_AVAILABILITY] = 6500; mPP [(int)PRESENCE_PROPERTY.PRESENCE_PROP_CUSTOM_STATUS_STRING] ="去吃午饭"; contact.PresenceProperties =(对象)mPP; break; } catch(例外e) { Debug.WriteLine(e.StackTrace); Debug.WriteLine(e.Message); Debug.WriteLine(e.InnerException); 我可以看到我的状态更改,但它只更改为Available或Busy,并且不会显示我设置的字符串。我做错了什么或者我可以这样做吗? 感谢任何帮助。 RoryHi,I have used the Office Communicator Deployment guide to configure custom presence states and set them using the client. In particular I want to do this to have custom string set for availibility such as 'Working from home'. This worked fine.I have a small application and I want to be able to do this programitically, but so far have not been able to. Below is a piece of sample code.            CommunicatorAPI.Messenger communicator = new CommunicatorAPI.Messenger();            string mySignName = communicator.MySigninName;            IMessengerContactAdvanced contact = (IMessengerContactAdvanced)communicator.GetContact(mySignName, communicator.MyServiceId);            object[] mPP = new object;            string mBusy = "In a call";            try            {                switch (state)                {                    case 1:                        mPP[(int)PRESENCE_PROPERTY.PRESENCE_PROP_AVAILABILITY] = 3000;                        mPP[(int)PRESENCE_PROPERTY.PRESENCE_PROP_CUSTOM_STATUS_STRING] = "Working from home";                        contact.PresenceProperties = (object)mPP;                        break;                    case 2:                        mPP[(int)PRESENCE_PROPERTY.PRESENCE_PROP_AVAILABILITY] = 6500;                        mPP[(int)PRESENCE_PROPERTY.PRESENCE_PROP_CUSTOM_STATUS_STRING] = "Gone to lunch";                        contact.PresenceProperties = (object)mPP;                        break;                }            }            catch (Exception e)            {                Debug.WriteLine(e.StackTrace);                Debug.WriteLine(e.Message);                Debug.WriteLine(e.InnerException);            }I can see my presence state change but it changes to Available or Busy only and the string I set does not appear. Am I doing something wrong or can I do it this way?Any help appreciated.ThanksRory推荐答案 PRESENCE_PROP_AVAILABILITY属性只能设置为其中一个值,根据以下页面 http://msdn.microsoft.com/en-us/library/bb787249.aspxThe PRESENCE_PROP_AVAILABILITY property can only be set to one of these values, according to the following page http://msdn.microsoft.com/en-us/library/bb787249.aspx可用 这篇关于设置自定义状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
06-28 02:32