MyException - 我的异常网
当前位置:我的异常网» C# » [技术分享]C#中施用IFELanguage进行分词和注音处理

[技术分享]C#中施用IFELanguage进行分词和注音处理(2)

www.MyException.Cn  网友分享于:2013-12-12  浏览:128次


[DllImport( "kernel32.dll ")]
public   static   extern   int   FormatMessage(int   dwFlags,   IntPtr   lpSource,  
        int   dwMessageId,   int   dwLanguageId,  
        StringBuilder   lpBuffer,   int   nSize,   IntPtr   va_list_arguments);
public   const   int   FORMAT_MESSAGE_IGNORE_INSERTS   =   0x200;
public   const   int   FORMAT_MESSAGE_FROM_SYSTEM   =   0x1000;
public   const   int   FORMAT_MESSAGE_ARGUMENT_ARRAY   =   0x2000;

[DllImport( "kernel32.dll ")]
public   static   extern   int   GetLastError();

[DllImport( "ole32.dll ")]
public   static   extern   void   CoTaskMemFree(IntPtr   ptr);

public   const   int   S_OK   =   0x00000000;

public   static   string   GetMessage(int   errorCode)
{
        StringBuilder   lpBuffer   =   new   StringBuilder(0x200);
        if   (FormatMessage(FORMAT_MESSAGE_IGNORE_INSERTS   |   FORMAT_MESSAGE_FROM_SYSTEM   |  
                FORMAT_MESSAGE_ARGUMENT_ARRAY,
                IntPtr.Zero,   errorCode,   0,   lpBuffer,   lpBuffer.Capacity,   IntPtr.Zero)   !=   0)
        {
                return   lpBuffer.ToString();
        }
        return   "Unknown ";
}

private   bool   coInitialized   =   false;
private   void   button1_Click(object   sender,   EventArgs   e)
{
        if   (!coInitialized)  
        {
                CoInitialize(IntPtr.Zero);  
                coInitialized   =   true;
        }

        textBox2.Clear();
        Guid   vGuidIme;
        int   vError;
        vError   =   CLSIDFromString( "MSIME.China ",   out   vGuidIme);
        if   (vError   !=   S_OK)              
        {
                MessageBox.Show(GetMessage(vError));
                return;
        }
        Guid   vGuidLanguage   =   new   Guid( "019F7152-E6DB-11D0-83C3-00C04FDDB82E ");
        IntPtr   vPPV;                                      
        vError   =   CoCreateInstance(vGuidIme,   IntPtr.Zero,   CLSCTX_SERVER,  
                vGuidLanguage,   out   vPPV);
        if   (vError   !=   S_OK)
        {
                MessageBox.Show(GetMessage(vError));

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有