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

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

?? cnctnote.cpp

?? MS-Press book about programming under Windows CE with source-codes of examples
?? CPP
字號:
//======================================================================
// CnctNote - A simple application for Windows CE
//
// Written for the book Programming Windows CE
// Copyright (C) 1998 Douglas Boling
//======================================================================
#include <windows.h>                   // For all that Windows stuff
#include <stdio.h>
#include <initguid.h>
#include <dccole.h>
#include "CnctNote.h"                  // Program-specific stuff
//----------------------------------------------------------------------
// Global data
//
const TCHAR szAppName[] = TEXT ("CnctNote");
HINSTANCE hInst;                      // Program instance handle
BOOL fFirst = TRUE;

IDccMan *pDccMan;
MyDccSink *pMySink;                   // Notification interface
DWORD g_Context;                      // Context variable

//======================================================================
// Program entry point
//
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine, int nCmdShow) {
    MSG msg;
    int rc = 0;
    HWND hwndMain;

    // Initialize application.
    rc = InitApp (hInstance);
    if (rc) return rc;

    // Initialize this instance.
    hwndMain = InitInstance (hInstance, lpCmdLine, nCmdShow);
    if (hwndMain == 0)
        return TermInstance (hInstance, 0x10);

    // Application message loop
    while (GetMessage (&msg, NULL, 0, 0)) {
        if ((hwndMain == 0) || !IsDialogMessage (hwndMain, &msg)) {
            TranslateMessage (&msg);
            DispatchMessage (&msg);
        }
    }
    // Instance cleanup
    return TermInstance (hInstance, msg.wParam);
}
//----------------------------------------------------------------------
// InitApp - Application initialization
//
int InitApp (HINSTANCE hInstance) {
    WNDCLASS wc;

    // Register application main window class.
    wc.style = 0;                             // Window style
    wc.lpfnWndProc = MainWndProc;             // Callback function
    wc.cbClsExtra = 0;                        // Extra class data
    wc.cbWndExtra = DLGWINDOWEXTRA;           // Extra window data
    wc.hInstance = hInstance;                 // Owner handle
    wc.hIcon = NULL,                          // Application icon
    wc.hCursor = NULL;                        // Default cursor
    wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
    wc.lpszMenuName =  NULL;                  // Menu name
    wc.lpszClassName = szAppName;             // Window class name

    if (RegisterClass (&wc) == 0) return 1;
    return 0;
}
//----------------------------------------------------------------------
// InitInstance - Instance initialization
//
HWND InitInstance (HINSTANCE hInstance, LPSTR lpCmdLine, int nCmdShow){
    HWND hWnd;
    HRESULT hr;
    INT rc;

    // Save program instance handle in global variable.
    hInst = hInstance;

    // Initialize COM.
    hr = CoInitialize(NULL);
    if (FAILED(hr)) {
        MessageBox (NULL, "CoInitialize failed", szAppName, MB_OK);
        return 0;
    }
    // Create main window.
    hWnd = CreateDialog (hInst, szAppName, NULL, NULL);
    rc = GetLastError();

    // Return fail code if window not created.
    if (!IsWindow (hWnd)) return 0;

    // Standard show and update calls
    ShowWindow (hWnd, nCmdShow);
    UpdateWindow (hWnd);
    return hWnd;
}
//----------------------------------------------------------------------
// TermInstance - Program cleanup
//
int TermInstance (HINSTANCE hInstance, int nDefRC) {

    // Release COM.
    CoUninitialize();

    return nDefRC;
}
//======================================================================
// MainWndProc - Callback function for application window
//
LRESULT CALLBACK MainWndProc (HWND hWnd, UINT wMsg, WPARAM wParam,
                              LPARAM lParam) {

    switch (wMsg) {

    case WM_SIZE:
        if (fFirst) {
            HRESULT hr;
            IDccManSink *pdms;
            fFirst = FALSE;

            // Get a pointer to the IDccMan COM interface.
            hr = CoCreateInstance (CLSID_DccMan, NULL, CLSCTX_SERVER,
                                   IID_IDccMan, (LPVOID*)&pDccMan);
            if (FAILED(hr)) {
                Add2List (hWnd, "CoCreateInstance failed");
                break;
            }

            // Create new notification object.
            pMySink = new MyDccSink(hWnd, pDccMan);
            pMySink->QueryInterface (IID_IDccManSink, (void **)&pdms);
            // Ask to be advised of connect state changes.
            pDccMan->Advise (pdms, &g_Context);
        }
        break;
    case WM_COMMAND:

        switch (LOWORD (wParam)) {
        case IDOK:
        case IDCANCEL:
            SendMessage (hWnd, WM_CLOSE, 0, 0);
            break;
        }
        break;
    case WM_DESTROY:
        // Stop receiving notifications.
        pDccMan->Unadvise (g_Context);

        // Release the DccMan object.
        pDccMan->Release();

        PostQuitMessage (0);
        break;
    }
    return DefWindowProc (hWnd, wMsg, wParam, lParam);
}
//----------------------------------------------------------------------
// Add2List - Add string to the report list box.
//
void Add2List (HWND hWnd, LPTSTR lpszFormat, ...) {
    int nBuf, i;
    TCHAR szBuffer[512];

    va_list args;
    va_start(args, lpszFormat);

    nBuf = vsprintf(szBuffer, lpszFormat, args);

    i = SendDlgItemMessage (hWnd, IDC_RPTLIST, LB_ADDSTRING, 0,
                            (LPARAM)(LPCTSTR)szBuffer);

    if (i != LB_ERR)
        SendDlgItemMessage (hWnd, IDC_RPTLIST, LB_SETTOPINDEX, i,
                            (LPARAM)(LPCTSTR)szBuffer);
    va_end(args);
}
//**********************************************************************
// Constructor
MyDccSink::MyDccSink (HWND hwndMain, IDccMan *pDccMan) {

    m_pDccMan = pDccMan;
    hWnd = hwndMain;

    m_pDccMan->AddRef();
    return;
}
//----------------------------------------------------------------------
// Destructor
MyDccSink::~MyDccSink () {

    m_pDccMan->Release();
    return;
}
//----------------------------------------------------------------------
// AddRef - Increment object ref count.
STDMETHODIMP_(ULONG) MyDccSink::AddRef (THIS) {

    return (ULONG)InterlockedIncrement (&m_lRef);
}
//----------------------------------------------------------------------
// Release - Decrement object ref count.
STDMETHODIMP_(ULONG) MyDccSink::Release (THIS) {
    ULONG cnt;

    cnt = (ULONG)InterlockedDecrement (&m_lRef);
    if (cnt == 0) {
        delete this;
        return 0;
    }
    return cnt;
}
//----------------------------------------------------------------------
// QueryInterface - Return a pointer to interface.
STDMETHODIMP MyDccSink::QueryInterface (REFIID riid, LPVOID * ppvObj) {

    if (IID_IUnknown==riid || IID_IDccManSink==riid)
        *ppvObj = (IDccManSink*)this;
    else {
        *ppvObj = NULL;
        return E_NOINTERFACE;
    }
    AddRef();
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogIpAddr (DWORD dwIpAddr) {
    Add2List (hWnd, TEXT ("OnLogIpAddr %08x"), dwIpAddr);
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogTerminated () {
    Add2List (hWnd, TEXT ("OnLogTerminated "));
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogActive () {
    Add2List (hWnd, TEXT ("OnLogActive "));
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogInactive () {
    Add2List (hWnd, TEXT ("OnLogInactive "));
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogAnswered () {
    Add2List (hWnd, TEXT ("OnLogAnswered"));
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogListen () {
    Add2List (hWnd, TEXT ("OnLogListen "));
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogDisconnection () {
    Add2List (hWnd, TEXT ("OnLogDisconnection "));
    return NO_ERROR;
}
//----------------------------------------------------------------------
//
STDMETHODIMP MyDccSink::OnLogError () {
    Add2List (hWnd, TEXT ("OnLogError "));
    return NO_ERROR;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆国产精品777777在线| 国产欧美一区二区精品婷婷| 国产激情一区二区三区四区| 亚洲成人福利片| 中日韩免费视频中文字幕| 精品不卡在线视频| 91麻豆精品国产91久久久使用方法 | 韩国在线一区二区| 亚洲精品高清在线| 国产精品家庭影院| 中文久久乱码一区二区| 欧美一区二区性放荡片| 欧美日韩免费一区二区三区| 成人性色生活片免费看爆迷你毛片| 人禽交欧美网站| 日韩精品免费专区| 亚洲bt欧美bt精品| 五月综合激情网| 亚洲国产日韩综合久久精品| 亚洲国产日韩综合久久精品| 亚洲一区免费视频| 一区二区久久久久久| 亚洲另类色综合网站| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品网站在线观看| 亚洲精品国产成人久久av盗摄| 国产精品久久777777| 亚洲日本va午夜在线影院| 亚洲精品国产精华液| 亚洲午夜久久久久| 视频一区在线播放| 免费国产亚洲视频| 激情综合色综合久久| 美腿丝袜亚洲一区| 久草这里只有精品视频| 99在线热播精品免费| 欧美一级午夜免费电影| 亚洲三级电影网站| 国产乱妇无码大片在线观看| 91福利精品视频| 欧美电视剧在线看免费| 亚洲另类在线视频| 国产麻豆视频精品| 欧美精品1区2区| 亚洲人成精品久久久久| 久久精品国产精品青草| 欧美午夜精品免费| 中文字幕制服丝袜一区二区三区| 奇米色777欧美一区二区| 99热99精品| 久久免费的精品国产v∧| 爽爽淫人综合网网站| 91视视频在线观看入口直接观看www| 欧美mv日韩mv国产网站| 亚洲综合成人在线| 92精品国产成人观看免费| 久久久精品影视| 亚洲第一狼人社区| 99久久久久久| 国产日韩精品一区二区浪潮av | 91精品国产综合久久福利| 日韩毛片高清在线播放| 国产剧情一区在线| 精品国精品自拍自在线| 日韩中文字幕区一区有砖一区| 色婷婷综合视频在线观看| 国产日韩精品一区二区三区| 国产一区二区导航在线播放| 日韩免费福利电影在线观看| 美洲天堂一区二卡三卡四卡视频| 欧美日韩日日夜夜| 亚洲福中文字幕伊人影院| 欧美伊人精品成人久久综合97| 国产精品第五页| 成人国产精品免费观看动漫| 久久久国产一区二区三区四区小说 | 亚洲一区二区三区四区五区黄| 色综合色狠狠综合色| 亚洲人成亚洲人成在线观看图片| 不卡的av电影| 亚洲精品日韩一| 欧美久久久久久久久中文字幕| 亚洲成a人v欧美综合天堂下载 | 欧美激情一区二区三区全黄| 粉嫩在线一区二区三区视频| 精品三级在线看| 韩国一区二区视频| 中文字幕亚洲一区二区av在线 | 综合色中文字幕| 欧美性受xxxx黑人xyx| 日韩高清一区在线| 久久久精品国产免大香伊| 97se亚洲国产综合自在线| 亚洲第一在线综合网站| 日韩欧美在线一区二区三区| 国产一区二区三区在线观看免费视频| 国产三级精品三级在线专区| jlzzjlzz国产精品久久| 午夜久久久久久| 久久久久国产精品人| 97久久超碰国产精品| 天堂午夜影视日韩欧美一区二区| 精品少妇一区二区三区视频免付费 | 国产精品一区二区在线看| 国产精品久久国产精麻豆99网站| 色屁屁一区二区| 国产一区二区在线电影| 亚洲丝袜美腿综合| 日韩午夜激情av| 99re这里只有精品6| 午夜精品久久久久久久久久| 久久精品免视看| 欧美日韩成人在线| 国产不卡在线视频| 亚洲国产精品久久久久秋霞影院 | 韩国精品主播一区二区在线观看| 亚洲天堂av一区| 精品国产免费人成在线观看| aaa国产一区| 国内精品国产三级国产a久久| 一区二区三区四区中文字幕| 精品国产乱码久久久久久蜜臀| 99久免费精品视频在线观看| 麻豆精品一二三| 成人免费在线播放视频| 精品久久久久久久久久久院品网 | 日韩一本二本av| 91蝌蚪porny成人天涯| 国产精品亚洲第一| 视频精品一区二区| 亚洲激情av在线| 国产精品第一页第二页第三页| 精品99一区二区三区| 欧美在线制服丝袜| 色综合 综合色| 99久久综合99久久综合网站| 黑人巨大精品欧美一区| 美女精品一区二区| 日本三级韩国三级欧美三级| 亚洲天堂中文字幕| 中文字幕一区二区三区在线观看 | 国产丶欧美丶日本不卡视频| 日韩激情一二三区| 亚洲国产精品一区二区www | 久久精品亚洲乱码伦伦中文 | 国产精品性做久久久久久| 久久99精品国产麻豆婷婷洗澡| 亚洲福利视频一区二区| 亚洲狠狠丁香婷婷综合久久久| 国产精品乱码妇女bbbb| 国产精品你懂的| 国产精品久久久久久福利一牛影视 | 奇米一区二区三区av| 丝袜脚交一区二区| 免费高清在线视频一区·| 日本欧美一区二区在线观看| 午夜天堂影视香蕉久久| 性做久久久久久| 蜜桃视频在线观看一区| 久久精品72免费观看| 精品一区二区三区在线播放视频| 日韩精品亚洲一区二区三区免费| 视频一区中文字幕| 精品综合免费视频观看| 国产精品亚洲专一区二区三区| 成人午夜免费电影| 91在线观看免费视频| 在线免费不卡电影| 3atv一区二区三区| 欧美成人乱码一区二区三区| 国产日韩欧美一区二区三区乱码| 亚洲国产精华液网站w | 免费在线视频一区| 国产成人av一区| 日本精品一级二级| 欧美精品第一页| 中文字幕av资源一区| 亚洲综合在线电影| 精品一区二区三区视频| 91丨九色丨尤物| 91精品婷婷国产综合久久性色| 久久久一区二区| 亚洲欧美韩国综合色| 久久av老司机精品网站导航| av电影在线观看一区| 在线成人av影院| 国产精品福利影院| 美腿丝袜一区二区三区| 99vv1com这只有精品| 欧美tk丨vk视频| 亚洲国产精品久久久久婷婷884 | 久久一区二区视频| 洋洋成人永久网站入口| 国产美女娇喘av呻吟久久| 色噜噜狠狠色综合中国| 久久免费电影网| 日本视频免费一区| 日本福利一区二区| 欧美激情一区二区三区蜜桃视频| 亚洲地区一二三色|