P/Invoke调用SipEnumIM枚举SIP失败?
生活随笔
收集整理的這篇文章主要介紹了
P/Invoke调用SipEnumIM枚举SIP失败?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通過.NET CF本身提供的方法枚舉設(shè)備中的所有SIP可以方便的完成這個(gè)問題。如下: 參考:http://msdn.microsoft.com/en-us/library/ms172538.aspx ?? ? ? ?//?定義一個(gè)InputPanel?
?? ? ? ?private?InputPanel?m_inputPanel?=?new?InputPanel();
?? ? ? ?
?? ? ? ?//?枚舉SIP
?? ? ? ?foreach?(InputMethod?method?in?m_inputPanel.InputMethods)
?? ? ? ?{
?? ? ? ? ? ?this.listBox.Items.Add(method.Name);
?? ? ? ?}
通過上面的方式枚舉設(shè)備所有SIP后,就可以選擇自己需要的SIP了 參考:http://msdn.microsoft.com/en-us/library/microsoft.windowsce.forms.inputpanel.currentinputmethod.aspx ?? ? ? ?private?void?SetNewSIP(string?sipName)
????????{
????????????foreach?(InputMethod?method?in?m_inputPanel.InputMethods)
????????????{
????????????????if?(sipName.Equals(method.Name))
????????????????{
????????????????????m_inputPanel.CurrentInputMethod?=?method;
????????????????????break;
????????????????}
????????????}
????????}
參考: http://www.developer.com/ws/pc/article.php/10947_3583686_1/Managing-the-Software-Input-Panel-in-Your-Applications.htm http://www.pcreview.co.uk/forums/thread-2610504.php ASK: 我想P/Invoke系統(tǒng)API來實(shí)現(xiàn).NET CF為我們實(shí)現(xiàn)的枚舉功能,如下代碼,但是總是返回0,也就是沒有枚舉到,請問,是我的結(jié)構(gòu)體參數(shù)設(shè)置錯(cuò)誤還是其他呢? ?? ?public?class?SIPManager
????{
????????public?delegate?int?IMENUMPROC(ref?IMENUMINFO?IMinfo);
????????[DllImport("coredll.dll")]
????????public?static?extern?int?SipEnumIM(IMENUMPROC?EnumIMProc);
????????private?List<IMENUMINFO>?SIPs?=?new?List<IMENUMINFO>();
????????public?int?SipEnumIMProc(ref?IMENUMINFO?IMinfo)
????????{
????????????SIPs.Add(IMinfo);
????????????return?1;
????????}
????????public?List<IMENUMINFO>?GetSIPs()
????????{
????????????int?imcount?=?SipEnumIM(SipEnumIMProc);
????????????return?SIPs;
????????}
????????public?class?IMENUMINFO
????????{
????????????public?StringBuilder?szName;
????????????public?Guid?clsid;
????????????
????????????public?IMENUMINFO()
????????????{
????????????????szName?=?new?StringBuilder();
????????????????clsid?=?new?Guid();
????????????}
????????}
????}
????//?按照下面方式調(diào)用
????SIPManager?sipmgr?=?new?SIPManager();
????List<SIPManager.IMENUMINFO>?list?=?new?List<SIPManager.IMENUMINFO>();
????list?=?sipmgr.GetSIPs();
????//?但是每次跟蹤進(jìn)GetSIPs之后,里面imcount返回值總為0,也就是表示失敗
--------------------------------------------------
| 李森?– listen |
| 聲明: Announce: |
轉(zhuǎn)載于:https://www.cnblogs.com/Lisen/archive/2009/09/17/1568754.html
總結(jié)
以上是生活随笔為你收集整理的P/Invoke调用SipEnumIM枚举SIP失败?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FCKeditor2.3 For PHP
- 下一篇: iOS7新版Siri增加男声