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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cechat.c

?? MS-Press book about programming under Windows CE with source-codes of examples
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
LRESULT DoDestroyMain (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {
    PostQuitMessage (0);
    return 0;
}
//======================================================================
// Command handler routines
//----------------------------------------------------------------------
// DoMainCommandExit - Process Program Exit command.
//
LPARAM DoMainCommandExit (HWND hWnd, WORD idItem, HWND hwndCtl,
                          WORD wNotifyCode) {
    SendMessage (hWnd, WM_CLOSE, 0, 0);
    return 0;
}
//----------------------------------------------------------------------
// DoMainCommandComPort - Process the COM port combo box commands.
//
LPARAM DoMainCommandComPort (HWND hWnd, WORD idItem, HWND hwndCtl,
                             WORD wNotifyCode) {
    INT i;
    TCHAR szDev[32];

    if (wNotifyCode == CBN_SELCHANGE) {
        i = SendMessage (hwndCtl, CB_GETCURSEL, 0, 0);
        if (i != nLastDev) {
            nLastDev = i;
            SendMessage (hwndCtl, CB_GETLBTEXT, i, (LPARAM)szDev);
            InitCommunication (hWnd, szDev);
            SetFocus (GetDlgItem (hWnd, ID_SENDTEXT));
        }
    }
    return 0;
}
//----------------------------------------------------------------------
// DoMainCommandSendText - Process the Send text button.
//
LPARAM DoMainCommandSendText (HWND hWnd, WORD idItem, HWND hwndCtl,
                              WORD wNotifyCode) {

    // Set event so that sender thread will send the text.
    SetEvent (g_hSendEvent);
    SetFocus (GetDlgItem (hWnd, ID_SENDTEXT));
    return 0;
}
//----------------------------------------------------------------------
// DoMainCommandAbout - Process the Help | About menu command.
//
LPARAM DoMainCommandAbout(HWND hWnd, WORD idItem, HWND hwndCtl,
                          WORD wNotifyCode) {
    // Use DialogBox to create modal dialog.
    DialogBox (hInst, TEXT ("aboutbox"), hWnd, AboutDlgProc);
    return 0;
}
//======================================================================
// About Dialog procedure
//
BOOL CALLBACK AboutDlgProc (HWND hWnd, UINT wMsg, WPARAM wParam,
                            LPARAM lParam) {
    switch (wMsg) {
        case WM_COMMAND:
            switch (LOWORD (wParam)) {
                case IDOK:
                case IDCANCEL:
                    EndDialog (hWnd, 0);
                    return TRUE;
            }
        break;
    }
    return FALSE;
}
//----------------------------------------------------------------------
// GetRawIrDeviceName - Returns the device name for the RawIR com port
//
INT GetRawIrDeviceName (LPTSTR pDevName) {
    DWORD dwSize, dwType, dwData;
    HKEY hKey;

    *pDevName = TEXT ('\0');
    // Open the IrDA key.
    if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, TEXT ("Comm\\IrDA"), 0,
                      0, &hKey) == ERROR_SUCCESS) {

        // Query the device number.
        dwSize = sizeof (dwData);
        if (RegQueryValueEx (hKey, TEXT ("Port"), 0, &dwType,
                             (PBYTE)&dwData, &dwSize) == ERROR_SUCCESS)

            // Check for valid port number. Assume buffer > 5 chars.
            if (dwData < 10)
                wsprintf (pDevName, TEXT ("COM%d:"), dwData);

        RegCloseKey (hKey);
    }
    return lstrlen (pDevName);
}
//----------------------------------------------------------------------
// GetIrCommDeviceName - Returns the device name for the IrComm port
//
INT GetIrCommDeviceName (LPTSTR pDevName) {
    DWORD dwSize, dwType, dwData;
    HKEY hKey;

    *pDevName = TEXT ('\0');
    // Open the IrDA key.
    if (RegOpenKeyEx (HKEY_LOCAL_MACHINE,
                      TEXT ("Drivers\\BuiltIn\\IrCOMM"), 0,
                      0, &hKey) == ERROR_SUCCESS) {

        // Query the device number.
        dwSize = sizeof (dwData);
        if (RegQueryValueEx (hKey, TEXT ("Index"), 0, &dwType,
                             (PBYTE)&dwData, &dwSize) == ERROR_SUCCESS)

            // Check for valid port number. Assume buffer > 5 chars.
            if (dwData < 10)
                wsprintf (pDevName, TEXT ("COM%d:"), dwData);

        RegCloseKey (hKey);
    }
    return lstrlen (pDevName);
}
//----------------------------------------------------------------------
// FillComComboBox - Fills the com port combo box
//
int FillComComboBox (HWND hWnd) {
    TCHAR szDev[64];

    lstrcpy (szDev, TEXT ("Serial Port   COM1:"));
    SendDlgItemMessage (GetDlgItem (hWnd, IDC_CMDBAR),
                        IDC_COMPORT, CB_INSERTSTRING,
                        -1, (LPARAM)szDev);

    lstrcpy (szDev, TEXT ("IrComm Port   "));
    GetIrCommDeviceName (&szDev[lstrlen (szDev)]);
    SendDlgItemMessage (GetDlgItem (hWnd, IDC_CMDBAR),
                        IDC_COMPORT, CB_INSERTSTRING,
                        -1, (LPARAM)szDev);

    lstrcpy (szDev, TEXT ("Raw IR Port   "));
    GetRawIrDeviceName (&szDev[lstrlen (szDev)]);
    SendDlgItemMessage (GetDlgItem (hWnd, IDC_CMDBAR),
                        IDC_COMPORT, CB_INSERTSTRING,
                        -1, (LPARAM)szDev);
    SendDlgItemMessage (GetDlgItem (hWnd, IDC_CMDBAR), IDC_COMPORT,
                        CB_SETCURSEL, 0, 0);
    return 0;
}
//----------------------------------------------------------------------
// InitCommunication - Open and initialize selected COM port.
//
HANDLE InitCommunication (HWND hWnd, LPTSTR pszDevName) {
    DCB dcb;
    INT i;
    TCHAR szDbg[128];
    COMMTIMEOUTS cto;
    HANDLE hLocal;
    DWORD dwTStat;

    hLocal = hComPort;
    hComPort = INVALID_HANDLE_VALUE;

    if (hLocal != INVALID_HANDLE_VALUE)
        CloseHandle (hLocal);  // This causes WaitCommEvent to return.

    // The com port name is the last 5 characters of the string.
    i = lstrlen (pszDevName);
    hLocal = CreateFile (&pszDevName[i-5], GENERIC_READ | GENERIC_WRITE,
                           0, NULL, OPEN_EXISTING, 0, NULL);

    if (hLocal != INVALID_HANDLE_VALUE) {
        // Configure port.
        GetCommState (hLocal, &dcb);
        dcb.BaudRate = nSpeed;
        dcb.fParity = FALSE;
        dcb.fNull = FALSE;
        dcb.StopBits = ONESTOPBIT;
        dcb.Parity = NOPARITY;
        dcb.ByteSize = 8;
        SetCommState (hLocal, &dcb);

        // Set the timeouts.  Set infinite read timeout.
        cto.ReadIntervalTimeout = 0;
        cto.ReadTotalTimeoutMultiplier = 0;
        cto.ReadTotalTimeoutConstant = 0;
        cto.WriteTotalTimeoutMultiplier = 0;
        cto.WriteTotalTimeoutConstant = 0;
        SetCommTimeouts (hLocal, &cto);

        wsprintf (szDbg, TEXT ("Port %s opened\r\n"), pszDevName);
        SendDlgItemMessage (hWnd, ID_RCVTEXT, EM_REPLACESEL, 0,
                            (LPARAM)szDbg);
        // Really bad hack to determine which is the raw IR selection.
        // We need to enable IR on the raw IR port in case port is
        // shared with the standard serial port.
        if (*pszDevName == TEXT ('R')) {
            if (!EscapeCommFunction (hLocal, SETIR)) {
                wsprintf (szDbg, TEXT ("Set IR failed. rc %d\r\n"),
                          GetLastError());
                SendDlgItemMessage (hWnd, ID_RCVTEXT, EM_REPLACESEL,
                                    0, (LPARAM)szDbg);
            }
        }
        // Start read thread if not already started.
        hComPort = hLocal;
        if (!GetExitCodeThread (hReadThread, &dwTStat) ||
            (dwTStat != STILL_ACTIVE)) {
            hReadThread = CreateThread (NULL, 0, ReadThread, hWnd,
                                        0, &dwTStat);
            if (hReadThread)
                CloseHandle (hReadThread);
        }
    } else {
        wsprintf (szDbg, TEXT ("Couldn\'t open port %s. rc=%d\r\n"),
                  pszDevName, GetLastError());
        SendDlgItemMessage (hWnd, ID_RCVTEXT, EM_REPLACESEL,
                            0, (LPARAM)szDbg);
    }
    return hComPort;
}
//======================================================================
// SendThread - Sends characters to the serial port
//
int SendThread (PVOID pArg) {
    HWND hWnd, hwndSText;
    INT cBytes, nGoCode;
    TCHAR szText[TEXTSIZE];

    hWnd = (HWND)pArg;
    hwndSText = GetDlgItem (hWnd, ID_SENDTEXT);
    while (1) {
        nGoCode = WaitForSingleObject (g_hSendEvent, INFINITE);
        if (nGoCode == WAIT_OBJECT_0) {
            if (!fContinue)
                break;
            GetWindowText (hwndSText, szText, dim(szText));
            lstrcat (szText, TEXT ("\r\n"));
            WriteFile (hComPort, szText, lstrlen (szText)*sizeof (TCHAR),
                       &cBytes, 0);
            SetWindowText (hwndSText, TEXT (""));  // Clear out text box
        } else
            break;
    }
    return 0;
}
//======================================================================
// ReadThread - Receives characters from the serial port
//
int ReadThread (PVOID pArg) {
    HWND hWnd;
    INT cBytes, i;
    BYTE szText[TEXTSIZE], *pPtr;
    TCHAR tch;

    hWnd = (HWND)pArg;
    while (fContinue) {
        tch = 0;
        pPtr = szText;
        for (i = 0; i < sizeof (szText)-sizeof (TCHAR); i++) {

            while (!ReadFile (hComPort, pPtr, 1, &cBytes, 0))
                if (hComPort == INVALID_HANDLE_VALUE)
                    return 0;

            // This syncs the proper byte order for Unicode.
            tch = (tch << 8) & 0xff00;
            tch |= *pPtr++;
            if (tch == TEXT ('\n'))
                break;
        }
        *pPtr++ = 0;  // Avoid alignment probs by addressing as bytes.
        *pPtr++ = 0;

        // If out of byte sync, move bytes down one.
        if (i % 2) {
            pPtr = szText;
            while (*pPtr || *(pPtr+1)) {
                *pPtr = *(pPtr+1);
                pPtr++;
            }
            *pPtr = 0;
        }
        SendDlgItemMessage (hWnd, ID_RCVTEXT, EM_REPLACESEL, 0,
                            (LPARAM)szText);
    }
    return 0;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看91精品国产麻豆| 精品国产乱码久久久久久浪潮| 丁香天五香天堂综合| 亚洲女同ⅹxx女同tv| 欧美一级欧美一级在线播放| av在线不卡网| 久久国产精品区| 亚洲一二三四久久| 欧美极品美女视频| 欧美一级二级三级乱码| 色婷婷综合久久久久中文| 极品少妇xxxx精品少妇| 亚洲成人自拍偷拍| 亚洲欧美激情插| 日韩免费电影网站| 欧美精品少妇一区二区三区| 91丨九色porny丨蝌蚪| 国产盗摄女厕一区二区三区| 青青草97国产精品免费观看无弹窗版| 欧美日韩国产欧美日美国产精品| 一区二区久久久久久| 中文字幕精品—区二区四季| 日韩欧美一区二区不卡| 欧美午夜片在线观看| 成人高清免费在线播放| 国产不卡在线播放| 国产在线精品免费| 国产一区二区不卡老阿姨| 免费国产亚洲视频| 麻豆精品国产91久久久久久| 日韩精品色哟哟| 五月天激情综合网| 天天操天天干天天综合网| 亚洲免费av在线| 一区二区三区在线观看网站| 亚洲久本草在线中文字幕| 亚洲男帅同性gay1069| 亚洲欧洲无码一区二区三区| 中文字幕一区二区三区蜜月| 欧美激情综合五月色丁香小说| 99re成人精品视频| 91在线小视频| 色婷婷精品久久二区二区蜜臂av | 日韩欧美在线综合网| 欧美美女bb生活片| 欧美顶级少妇做爰| 日韩欧美一级二级三级久久久| 丁香另类激情小说| 成人激情免费电影网址| 91丨porny丨蝌蚪视频| 成人少妇影院yyyy| 99精品久久久久久| 91福利在线免费观看| 8v天堂国产在线一区二区| 91麻豆精品国产91久久久资源速度| 成人av集中营| 日本乱码高清不卡字幕| 色菇凉天天综合网| 在线播放一区二区三区| 日韩欧美一区二区视频| 久久九九久久九九| 亚洲青青青在线视频| 香蕉av福利精品导航| 久久99精品久久久| 成人动漫精品一区二区| 日本韩国欧美一区| 日韩欧美国产一区二区在线播放| 在线观看日韩毛片| 欧美区视频在线观看| 久久综合色婷婷| 国产精品久久影院| 亚洲午夜精品网| 韩国女主播一区| 91麻豆swag| 欧美成人aa大片| 国产精品国产精品国产专区不片| 久久亚洲私人国产精品va媚药| 欧美久久久久久蜜桃| 精品福利在线导航| 国产精品国产三级国产aⅴ中文| 精品国产精品一区二区夜夜嗨| 欧美色网一区二区| 2022国产精品视频| 日韩理论片中文av| 老司机精品视频线观看86 | 国产成人av一区| 在线精品视频小说1| 欧美电视剧免费全集观看| 国产精品久久一卡二卡| 亚洲bt欧美bt精品777| 国产在线不卡一区| 欧美无人高清视频在线观看| 久久久蜜桃精品| 亚州成人在线电影| 成人av小说网| 精品国产区一区| 夜夜嗨av一区二区三区| 国产精品888| 日韩一级免费一区| 亚洲国产视频a| av资源站一区| 久久九九久久九九| 蜜桃91丨九色丨蝌蚪91桃色| 一本色道久久综合亚洲aⅴ蜜桃| 色综合久久久久综合体桃花网| 91小视频免费看| 久久综合中文字幕| 婷婷国产v国产偷v亚洲高清| 99久久精品免费精品国产| 26uuu国产电影一区二区| 亚洲一区在线观看免费 | 日本午夜一区二区| 色94色欧美sute亚洲线路一久| 欧美性淫爽ww久久久久无| 久久精品一二三| 麻豆一区二区99久久久久| 欧美日韩国产在线观看| 伊人一区二区三区| 波多野洁衣一区| 久久久久久一二三区| 美国欧美日韩国产在线播放| 3d成人动漫网站| 三级不卡在线观看| 欧美疯狂做受xxxx富婆| 亚洲国产成人高清精品| 欧美伊人久久久久久久久影院| 91麻豆精品国产91久久久更新时间| 日韩丝袜美女视频| 日韩国产欧美三级| 欧美日韩成人激情| 午夜国产不卡在线观看视频| 欧美在线综合视频| 亚洲一区二区三区四区在线免费观看| 午夜亚洲国产au精品一区二区| 麻豆精品国产传媒mv男同| 欧美一区三区二区| 奇米亚洲午夜久久精品| 日韩女优av电影| 蜜桃一区二区三区在线| 9191久久久久久久久久久| 天使萌一区二区三区免费观看| 国产精品77777| 国产精品久久久久久久久免费樱桃 | 久久久精品免费免费| 国内欧美视频一区二区| 日韩欧美黄色影院| 久久av老司机精品网站导航| 精品国产1区二区| 国产99久久久国产精品潘金| 中文字幕不卡三区| 99久久er热在这里只有精品15| 日韩欧美的一区| 美国欧美日韩国产在线播放| 日韩欧美国产一区二区在线播放| 亚洲精品国产精华液| 欧美无乱码久久久免费午夜一区 | 成人手机电影网| 亚洲视频电影在线| 欧美亚洲综合网| 午夜精品久久久久久| 精品日韩99亚洲| 成人中文字幕电影| 亚洲精品国产视频| 日韩一级欧美一级| 狠狠色2019综合网| 亚洲视频一区二区免费在线观看| 国产成人免费视| 一区二区三区四区中文字幕| 欧美日韩电影在线播放| 精品亚洲成a人| 国产精品黄色在线观看| 欧美日韩大陆在线| 国产伦精品一区二区三区视频青涩| 色丁香久综合在线久综合在线观看| 精品嫩草影院久久| 99v久久综合狠狠综合久久| 亚洲.国产.中文慕字在线| 久久综合精品国产一区二区三区| 日韩国产欧美在线播放| 久久精品免费在线观看| 欧美综合欧美视频| 激情综合色播五月| 亚洲精品国产无套在线观| 欧美变态口味重另类| 91麻豆文化传媒在线观看| 麻豆国产精品视频| 亚洲自拍偷拍九九九| xf在线a精品一区二区视频网站| 日韩高清不卡一区| 国产欧美日韩综合| 欧美一区二区三区视频免费播放| 亚洲最大色网站| 久久这里只有精品6| 精品婷婷伊人一区三区三| 懂色av一区二区在线播放| 亚洲成人第一页| 18欧美乱大交hd1984| 日韩欧美国产精品一区| 欧美午夜宅男影院| 成人a级免费电影|