亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? toascii.c

?? This folder includes IME sample source code for Simplified Chinese IMEs
?? C
?? 第 1 頁 / 共 4 頁
字號:

/*++

Copyright (c) 1990-1999 Microsoft Corporation, All Rights Reserved

Module Name:

    toascii.c


++*/


#include <windows.h>
#include <imm.h>
#include <imedefs.h>

/**********************************************************************/
/* IsUsedCode()                                                       */
/* Return Value:                                                      */
/*      TURE: is UsedCode;  FALSE: is'nt UsedCode;                    */
/**********************************************************************/
BOOL IsUsedCode(
    WORD wCharCode)
{
          WORD wFlg;

          for(wFlg=0; wFlg<sImeG.wNumCodes; wFlg++)
                if (wCharCode == sImeG.UsedCodes[wFlg])
                    break;
          if(wFlg < sImeG.wNumCodes)
                return (TRUE);
      return (FALSE);
}

/**********************************************************************/
/* GBProcessKey()                                                       */
/* Return Value:                                                      */
/*      different state which input key will change IME to (CST_      */
/**********************************************************************/
UINT PASCAL GBProcessKey(     // this key will cause the IME go to what state
    WORD           wCharCode,
    LPPRIVCONTEXT  lpImcP)
{
    if (!lpImcP) {
        return (CST_INVALID);
    }

    // check space 
     if (wCharCode == TEXT(' ')) {
        if (lpImcP->bSeq[0] && lpImcP->bSeq[1]) {
                        return (CST_INPUT);
                } else if (!lpImcP->bSeq[0]) {
            return (CST_ALPHANUMERIC);
                } else {
            return (CST_INVALID_INPUT);
                }
         }
    // check finalize char
      if ((wCharCode >= TEXT('0') && wCharCode <= TEXT('9'))
       ||(wCharCode >= TEXT('a') && wCharCode <= TEXT('f'))
       ||(wCharCode == TEXT('?'))) {

      if (!lpImcP->bSeq[0]) {
        if (wCharCode == TEXT('?')){
            // 0x0??? - 0xF??? is OK
            return (CST_ALPHANUMERIC);
        } else {
            // there is no 0x0??? - 0x7???
                        lpImcP->bSeq[1] = TEXT('\0');
            return (CST_INPUT);
        }

      } else if (!lpImcP->bSeq[1]) {

         if (lpImcP->bSeq[0] >=TEXT('0') && lpImcP->bSeq[0] <= TEXT('9')){ //Area
           if ((lpImcP->bSeq[0] == TEXT('0') && wCharCode == TEXT('0'))
               ||(lpImcP->bSeq[0] == TEXT('9') && wCharCode >= TEXT('5'))
               ||(wCharCode >= TEXT('a') && wCharCode <= TEXT('f'))
               ||(wCharCode == TEXT('?'))) {
               // there is less than 95 area and bigger than 0 area
                  return (CST_INVALID_INPUT);
           }
           else {
                                  lpImcP->bSeq[2] = TEXT('\0');
                  return (CST_INPUT);
           }
         }

         if (lpImcP->bSeq[0] >= TEXT('a') && lpImcP->bSeq[0] <= TEXT('f')) { //GB
           if ((lpImcP->bSeq[0] == TEXT('a') && wCharCode == TEXT('0'))
               ||(lpImcP->bSeq[0] == TEXT('f') && wCharCode == TEXT('f'))
               ||(wCharCode == TEXT('?'))) {
                  // there is less than 95 area and bigger than 0 area
                  return (CST_INVALID_INPUT);
           }
           else {
                                  lpImcP->bSeq[2] = TEXT('\0');
                  return (CST_INPUT);
           }
         }

      } else if (!lpImcP->bSeq[2]) {

         if (wCharCode == TEXT('?')){
                  return (CST_INPUT);
         }
         if (lpImcP->bSeq[0] >= TEXT('0') && lpImcP->bSeq[0] <= TEXT('9')){ //Area
           if (wCharCode >= TEXT('0') && wCharCode <= TEXT('9')) {
                          lpImcP->bSeq[3] = TEXT('\0');
              return (CST_INPUT);
           } else {
              return (CST_INVALID_INPUT);
           }

         }
     
         if (lpImcP->bSeq[0] >= TEXT('a') && lpImcP->bSeq[0] <= TEXT('f')) { //GB
           if (wCharCode >= TEXT('a') && wCharCode <= TEXT('f')) {
                          lpImcP->bSeq[3] = TEXT('\0');
              return (CST_INPUT);
           } else {
              return (CST_INVALID_INPUT);
           }
         }
      } else if (!lpImcP->bSeq[3]) {

         if (lpImcP->bSeq[2] == TEXT('?')) {
           if (wCharCode == TEXT('?')) {
              return (CST_INPUT);
           }else{
              return (CST_INVALID_INPUT);
           }
         }
         if (lpImcP->bSeq[0] >= TEXT('0') && lpImcP->bSeq[0] <= TEXT('9')) { //Area
           if ((lpImcP->bSeq[2] == TEXT('0') && wCharCode == TEXT('0'))
               ||(lpImcP->bSeq[2] == TEXT('9') && wCharCode >= TEXT('5'))
               ||(wCharCode >= TEXT('a') && wCharCode <= TEXT('f'))
               ||(wCharCode == TEXT('?'))) {
                  // there is less than 95 area and bigger than 0 area
                  return (CST_INVALID_INPUT);
           }
           else {
                  return (CST_INPUT);
           }
         }
         if (lpImcP->bSeq[0] >= TEXT('a') && lpImcP->bSeq[0] <= TEXT('f')) { //GB
           if ((lpImcP->bSeq[2] == TEXT('a') && wCharCode == TEXT('0'))
               ||(lpImcP->bSeq[2] == TEXT('f') && wCharCode == TEXT('f'))
               ||(wCharCode == TEXT('?'))){
                  // there is less than 95 area and bigger than 0 area
                  return (CST_INVALID_INPUT);
           }
           else {
                  return (CST_INPUT);
           }
         }
      } else {
              return (CST_INVALID_INPUT);
          }

    } else if (wCharCode >= TEXT(' ') && wCharCode <= TEXT('~')) {
        return (CST_ALPHANUMERIC);
        } else {
                return (CST_INVALID_INPUT);
        }

        return (CST_INVALID_INPUT);
}

#if defined(COMBO_IME)
/**********************************************************************/
/* UnicodeProcessKey()                                                       */
/* Return Value:                                                      */
/*      different state which input key will change IME to (CST_      */
/**********************************************************************/
UINT PASCAL UnicodeProcessKey(     // this key will cause the IME go to what state
    WORD           wCharCode,
    LPPRIVCONTEXT  lpImcP)
{
    if (!lpImcP) {
        return (CST_INVALID);
    }

    if (wCharCode == TEXT(' ')) {
        if (lpImcP->bSeq[0] && lpImcP->bSeq[1]) {
                        return (CST_INPUT);
                } else if (!lpImcP->bSeq[0]) {
            return (CST_ALPHANUMERIC);
                } else {
            return (CST_INVALID_INPUT);
                }
        }

     // check finalize char
         // 0000 -- ffff

    if ((wCharCode >= TEXT('0') && wCharCode <= TEXT('9'))
       ||(wCharCode >= TEXT('a') && wCharCode <= TEXT('f'))
       ||(wCharCode == TEXT('?'))) {

         if (wCharCode == TEXT('?')){
                        if (!lpImcP->bSeq[2]) {
                  return (CST_INPUT);
                 }else
                                 return(CST_INVALID_INPUT);
                 }else{
                  return (CST_INPUT);
         }
        } else if(lpImcP->bSeq[0]){
              return (CST_INVALID_INPUT);
        } else 
                return (CST_ALPHANUMERIC);

}
#endif //COMBO_IME

/**********************************************************************/
/* XGBProcessKey()                                                       */
/* Return Value:                                                      */
/*      different state which input key will change IME to (CST_      */
/**********************************************************************/
UINT PASCAL XGBProcessKey(     // this key will cause the IME go to what state
    WORD           wCharCode,
    LPPRIVCONTEXT  lpImcP)
{
    if (!lpImcP) {
        return (CST_INVALID);
    }

     if (wCharCode == TEXT(' ')) {
        if (lpImcP->bSeq[0] && lpImcP->bSeq[1]) {
                        return (CST_INPUT);
                } else if (!lpImcP->bSeq[0]) {
            return (CST_ALPHANUMERIC);
                } else {
            return (CST_INVALID_INPUT);
                }
         }

     // check finalize char
     //lead  byte 81 - fe
     //trail byte 40 - 7e, 80 - fe

     if ((wCharCode >= TEXT('0') && wCharCode <= TEXT('9'))
       ||(wCharCode >= TEXT('a') && wCharCode <= TEXT('f'))
       ||(wCharCode == TEXT('?'))) {

      if (!lpImcP->bSeq[0]) {
        if (wCharCode == TEXT('?')) {
            // 0x0??? - 0xF??? is OK
            // : - @ was filted
            return (CST_ALPHANUMERIC);

        }else if (wCharCode >=TEXT('8') && wCharCode <= TEXT('f')){
            // 0x0??? - 0xF??? is OK
                        lpImcP->bSeq[1] = TEXT('\0');
            return (CST_INPUT);
            
        } else {
            // there is no 0x0??? - 0x7???
            return (CST_INVALID_INPUT);
        }

      } else if (!lpImcP->bSeq[1]) {

           if ((lpImcP->bSeq[0] == TEXT('f') && wCharCode == TEXT('f'))
             ||(lpImcP->bSeq[0] == TEXT('8') && wCharCode == TEXT('0'))
             ||(wCharCode == TEXT('?'))) {
               //XGB is 81 - fe
                  return (CST_INVALID_INPUT);
           }
           else {
                                  lpImcP->bSeq[2] = TEXT('\0');
                  return (CST_INPUT);
           }

      } else if (!lpImcP->bSeq[2]) {

         if (wCharCode == TEXT('?')){
                                lpImcP->bSeq[3] = TEXT('\0');
                return (CST_INPUT);
         }

           if (wCharCode >= TEXT('4') && wCharCode <= TEXT('f')) {
                          lpImcP->bSeq[3] = TEXT('\0');
              return (CST_INPUT);
           } else {
              return (CST_INVALID_INPUT);
           }

      } else if (!lpImcP->bSeq[3]) {

         if (lpImcP->bSeq[2] == TEXT('?')) {
           if (wCharCode == TEXT('?')) {
              return (CST_INPUT);
           }else{
              return (CST_INVALID_INPUT);
           }
         }
           if ((lpImcP->bSeq[2] == TEXT('7') && wCharCode == TEXT('f'))
             ||(lpImcP->bSeq[2] == TEXT('f') && wCharCode == TEXT('f'))
             ||(wCharCode == TEXT('?'))) {
                  //trail byte
                  //40 - 7e, 80 - fe

                  return (CST_INVALID_INPUT);
           }
           else {
                  return (CST_INPUT);
           }
      } else {
              return (CST_INVALID_INPUT);
          }

    } else if (wCharCode >= TEXT(' ') && wCharCode <= TEXT('~')) {
        return (CST_ALPHANUMERIC);
        } else {
                return (CST_INVALID_INPUT);
        }

}

/**********************************************************************/
/* ProcessKey()                                                       */
/* Return Value:                                                      */
/*      different state which input key will change IME to (CST_      */
/**********************************************************************/
UINT PASCAL ProcessKey(     // this key will cause the IME go to what state
    WORD           wCharCode,
    UINT           uVirtKey,
    UINT           uScanCode,
    LPBYTE         lpbKeyState,
    LPINPUTCONTEXT lpIMC,
    LPPRIVCONTEXT  lpImcP)
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产自产高清不卡| 97久久人人超碰| 亚洲视频中文字幕| 欧美一区二区三区在线观看| 成人午夜视频免费看| 男男成人高潮片免费网站| 亚洲欧美在线观看| 精品国产一区二区三区久久影院| 日本电影欧美片| 顶级嫩模精品视频在线看| 偷拍与自拍一区| 亚洲免费在线看| 国产精品女上位| 久久婷婷国产综合精品青草 | av在线不卡免费看| 免费在线看一区| 婷婷开心久久网| 亚洲精品国产一区二区三区四区在线 | 精品一区二区影视| 亚欧色一区w666天堂| 亚洲色欲色欲www| 日本一区二区三区在线不卡| 欧美电影免费观看高清完整版 | 国产精品丝袜黑色高跟| 日韩精品综合一本久道在线视频| 欧美日韩视频不卡| 欧美性xxxxxxxx| 在线视频你懂得一区二区三区| 成人精品视频网站| 丁香婷婷综合网| 国产乱码精品一区二区三| 看电影不卡的网站| 久久国产精品72免费观看| 日本美女视频一区二区| 日一区二区三区| 日韩精品欧美成人高清一区二区| 性久久久久久久| 午夜精品久久一牛影视| 午夜精品一区在线观看| 丝袜美腿亚洲一区| 日本不卡123| 久久99蜜桃精品| 国产专区欧美精品| 国产九色sp调教91| 成人h动漫精品一区二区| 成人福利在线看| 99久久99久久免费精品蜜臀| 91在线精品一区二区| 99久久er热在这里只有精品66| 97精品久久久久中文字幕| 日本高清免费不卡视频| 欧美日韩一级视频| 6080国产精品一区二区| 精品女同一区二区| 久久精品一区八戒影视| 国产精品久久久久久久午夜片| 日韩美女视频一区| 亚洲综合精品久久| 日本不卡视频一二三区| 国产一区二三区| 成人国产精品免费网站| 欧美天堂亚洲电影院在线播放| 欧美精品粉嫩高潮一区二区| 精品对白一区国产伦| 国产精品日韩精品欧美在线| 一区二区三区日本| 日本少妇一区二区| 国产一区不卡在线| 91美女精品福利| 在线播放国产精品二区一二区四区| 精品理论电影在线观看| 亚洲国产成人在线| 丝袜诱惑制服诱惑色一区在线观看| 国产在线看一区| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩电影在线| 日本一区二区三区四区在线视频| 亚洲专区一二三| 极品美女销魂一区二区三区| 色婷婷综合五月| 精品国产乱码久久久久久影片| 国产亚洲欧美日韩俺去了| 亚洲综合偷拍欧美一区色| 久久电影网站中文字幕| 色综合中文字幕国产 | 日韩欧美一区二区在线视频| 欧美国产一区二区在线观看| 亚洲chinese男男1069| 岛国精品在线播放| 日韩你懂的在线观看| 综合久久国产九一剧情麻豆| 日本不卡123| 日本精品视频一区二区| 国产亚洲精品久| 毛片一区二区三区| 色婷婷av一区二区三区大白胸| 久久色中文字幕| 舔着乳尖日韩一区| 成人18精品视频| 精品国产髙清在线看国产毛片| 一区二区在线观看视频在线观看| 国产精品自产自拍| 日韩一卡二卡三卡国产欧美| 一个色在线综合| 成人黄色大片在线观看| 久久久亚洲综合| 免费不卡在线观看| 欧美视频一区二区三区四区| 国产精品国产三级国产aⅴ入口 | 欧美丝袜丝nylons| 亚洲欧洲制服丝袜| 国产99久久久国产精品潘金| 欧美一级免费大片| 亚洲综合丁香婷婷六月香| 成人av动漫在线| 国产欧美日韩综合精品一区二区| 美女视频一区在线观看| 欧美日本韩国一区二区三区视频 | 三级欧美在线一区| 欧美中文字幕一区二区三区亚洲 | 亚洲第一激情av| 91黄色小视频| 亚洲色图.com| 波多野结衣在线一区| 国产亚洲va综合人人澡精品| 蜜臀av国产精品久久久久| 在线不卡一区二区| 午夜激情一区二区| 7777精品伊人久久久大香线蕉完整版 | 欧美综合天天夜夜久久| 国产精品欧美久久久久一区二区 | 国产成都精品91一区二区三| 久久久精品综合| 国产毛片精品国产一区二区三区| 26uuu亚洲综合色| 国产资源在线一区| 国产亚洲综合在线| 国产夫妻精品视频| 日本一区二区综合亚洲| av福利精品导航| 亚洲激情自拍偷拍| 欧美日韩一区二区在线视频| 亚洲电影视频在线| 日韩一区二区不卡| 国产美女av一区二区三区| 国产欧美精品日韩区二区麻豆天美| 国产成人亚洲综合a∨婷婷图片| 久久免费偷拍视频| 国产99精品在线观看| 欧美国产综合一区二区| 一本到不卡免费一区二区| 亚洲无人区一区| 欧美日韩国产免费一区二区| 日韩成人一级大片| 精品国产乱码久久久久久牛牛 | 一区二区三区四区不卡视频| 日本国产一区二区| 青青草视频一区| 2022国产精品视频| 91免费版pro下载短视频| 午夜精品免费在线观看| 亚洲精品一区二区在线观看| 成人激情校园春色| 五月综合激情网| 精品国产区一区| 99麻豆久久久国产精品免费 | 99久久精品免费精品国产| 亚洲精品国久久99热| 欧美一级夜夜爽| 成人晚上爱看视频| 亚洲网友自拍偷拍| 久久久亚洲精品石原莉奈| 色综合久久中文字幕综合网| 日韩精品一级二级 | 91在线看国产| 美国一区二区三区在线播放| 国产欧美一区二区精品性色超碰| 色94色欧美sute亚洲线路二| 久久综合综合久久综合| 中文字幕一区二区三区在线播放 | 亚洲毛片av在线| 国产精品日韩成人| 538在线一区二区精品国产| 国产一区二区精品久久99| 亚洲美女屁股眼交3| 欧美xxx久久| 在线一区二区三区四区五区| 美女www一区二区| 亚洲六月丁香色婷婷综合久久 | 久久久久高清精品| 欧美群妇大交群中文字幕| 国产高清一区日本| 五月激情丁香一区二区三区| 中文字幕亚洲一区二区va在线| 91麻豆精品国产91久久久久| 91小视频在线| 国产精品一区在线| 日本sm残虐另类| 夜夜嗨av一区二区三区| 国产精品婷婷午夜在线观看|