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

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

?? usbview.c

?? usb view 源代碼 usb view 源代碼usb view 源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
        OOPS();
    }

    hFont  = CreateFont(13,  8, 0, 0,
                        400, 0, 0, 0,
                        0,   1, 2, 1,
                        49,  TEXT("Courier"));

    SendMessage(ghEditWnd,
                WM_SETFONT,
                (WPARAM) hFont,
                0);

    RefreshTree();    

    return FALSE;
}

//*****************************************************************************
//
// USBView_OnClose()
//
//*****************************************************************************

VOID
USBView_OnClose (
    HWND hWnd
)
{
    DestroyTree();

    PostQuitMessage(0);

    EndDialog(hWnd, 0);
}

//*****************************************************************************
//
// USBView_OnCommand()
//
//*****************************************************************************

VOID
USBView_OnCommand (
    HWND hWnd,
    int  id,
    HWND hwndCtl,
    UINT codeNotify
)
{
    MENUITEMINFO menuInfo;

    switch (id)
    {
        case ID_AUTO_REFRESH:
            gDoAutoRefresh = !gDoAutoRefresh;
            menuInfo.cbSize = sizeof(menuInfo);
            menuInfo.fMask  = MIIM_STATE;
            menuInfo.fState = gDoAutoRefresh ? MFS_CHECKED : MFS_UNCHECKED;
            SetMenuItemInfo(ghMainMenu,
                            id,
                            FALSE,
                            &menuInfo);
            break;

        case ID_CONFIG_DESCRIPTORS:
            gDoConfigDesc = !gDoConfigDesc;
            menuInfo.cbSize = sizeof(menuInfo);
            menuInfo.fMask  = MIIM_STATE;
            menuInfo.fState = gDoConfigDesc ? MFS_CHECKED : MFS_UNCHECKED;
            SetMenuItemInfo(ghMainMenu,
                            id,
                            FALSE,
                            &menuInfo);
            break;

        case ID_ABOUT:
            DialogBox(ghInstance,
                      MAKEINTRESOURCE(IDD_ABOUT),
                      ghMainWnd,
                      AboutDlgProc);
            break;

        case ID_EXIT:
            UnregisterDeviceNotification(gNotifyDevHandle);
            UnregisterDeviceNotification(gNotifyHubHandle);
            DestroyTree();
            PostQuitMessage(0);
            EndDialog(hWnd, 0);
            break;

        case ID_REFRESH:
            RefreshTree();
            break;
    }
}

//*****************************************************************************
//
// USBView_OnLButtonDown()
//
//*****************************************************************************

VOID
USBView_OnLButtonDown (
    HWND hWnd,
    BOOL fDoubleClick,
    int  x,
    int  y,
    UINT keyFlags
)
{
    gbButtonDown = TRUE;
    SetCapture(hWnd);
}

//*****************************************************************************
//
// USBView_OnLButtonUp()
//
//*****************************************************************************

VOID
USBView_OnLButtonUp (
    HWND hWnd,
    int  x,
    int  y,
    UINT keyFlags
)
{
    gbButtonDown = FALSE;
    ReleaseCapture();
}

//*****************************************************************************
//
// USBView_OnMouseMove()
//
//*****************************************************************************

VOID
USBView_OnMouseMove (
    HWND hWnd,
    int  x,
    int  y,
    UINT keyFlags
)
{
    SetCursor(ghSplitCursor);

    if (gbButtonDown)
    {
        ResizeWindows(TRUE, x);
    }
}

//*****************************************************************************
//
// USBView_OnSize();
//
//*****************************************************************************

VOID
USBView_OnSize (
    HWND hWnd,
    UINT state,
    int  cx,
    int  cy
)
{
    ResizeWindows(FALSE, 0);
}

//*****************************************************************************
//
// USBView_OnNotify()
//
//*****************************************************************************

LRESULT
USBView_OnNotify (
    HWND    hWnd,
    int     DlgItem,
    LPNMHDR lpNMHdr
)
{
    if (lpNMHdr->code == TVN_SELCHANGED)
    {
        HTREEITEM hTreeItem;

        hTreeItem = ((NM_TREEVIEW *)lpNMHdr)->itemNew.hItem;

        if (hTreeItem)
        {
            UpdateEditControl(ghEditWnd,
                              ghTreeWnd,
                              hTreeItem);
        }
    }

    return 0;
}


//*****************************************************************************
//
// USBView_OnDeviceChange()
//
//*****************************************************************************

BOOL
USBView_OnDeviceChange (
    HWND  hwnd,
    UINT  uEvent,
    DWORD dwEventData
)
{
    if (gDoAutoRefresh)
    {
        switch (uEvent)
        {
            case DBT_DEVICEARRIVAL:
            case DBT_DEVICEREMOVECOMPLETE:
                RefreshTree();
                break;
        }
    }

    return TRUE;
}



//*****************************************************************************
//
// DestroyTree()
//
//*****************************************************************************

VOID DestroyTree (VOID)
{
    // Clear the selection of the TreeView, so that when the tree is
    // destroyed, the control won't try to constantly "shift" the
    // selection to another item.
    //
    TreeView_SelectItem(ghTreeWnd, NULL);

    // Destroy the current contents of the TreeView
    //
    if (ghTreeRoot)
    {
        WalkTree(ghTreeRoot, CleanupItem, 0);

        TreeView_DeleteAllItems(ghTreeWnd);

        ghTreeRoot = NULL;
    }
}

//*****************************************************************************
//
// RefreshTree()
//
//*****************************************************************************

VOID RefreshTree (VOID)
{
    CHAR  statusText[128];
    ULONG devicesConnected;

    // Clear the selection of the TreeView, so that when the tree is
    // destroyed, the control won't try to constantly "shift" the
    // selection to another item.
    //
    TreeView_SelectItem(ghTreeWnd, NULL);

    // Clear the edit control
    //
    SetWindowText(ghEditWnd, "");

    // Destroy the current contents of the TreeView
    //
    if (ghTreeRoot)
    {
        WalkTree(ghTreeRoot, CleanupItem, 0);

        TreeView_DeleteAllItems(ghTreeWnd);

        ghTreeRoot = NULL;
    }

    // Create the root tree node
    //
    ghTreeRoot = AddLeaf(TVI_ROOT, 0, "My Computer");

    if (ghTreeRoot != NULL)
    {
        // Enumerate all USB buses and populate the tree
        //
        EnumerateHostControllers(ghTreeRoot, &devicesConnected);

        //
        // Expand all tree nodes
        //
        WalkTree(ghTreeRoot, ExpandItem, 0);

        // Update Status Line with number of devices connected
        //
        wsprintf(statusText, "Devices Connected: %d   Hubs Connected: %d", 
                 devicesConnected, TotalHubs);
        SetWindowText(ghStatusWnd, statusText);
    }
    else
    {
        OOPS();
    }

}

//*****************************************************************************
//
// AboutDlgProc()
//
//*****************************************************************************

LRESULT CALLBACK
AboutDlgProc (
    HWND   hwnd,
    UINT   uMsg,
    WPARAM wParam,
    LPARAM lParam
)
{
    switch (uMsg)
    {
    case WM_COMMAND:

        switch (LOWORD(wParam))
        {
        case IDOK:

            EndDialog (hwnd, 0);
            break;
        }
        break;

    }

    return FALSE;
}


//*****************************************************************************
//
// AddLeaf()
//
//*****************************************************************************

HTREEITEM
AddLeaf (
    HTREEITEM hTreeParent,
    LPARAM    lParam,
    LPTSTR    lpszText,
    ...
)
{
    TCHAR           szBuffer[1024];
    va_list         list;
    TV_INSERTSTRUCT tvins;
    HTREEITEM       hti;

    // added for tree view icons
    PUSB_NODE_CONNECTION_INFORMATION ConnectInfo = NULL;

    if (lParam)
    {
        ConnectInfo = ((PUSBDEVICEINFO)lParam)->ConnectionInfo;
    }
    
    // end add

    va_start(list, lpszText);
    vsprintf(szBuffer,
             lpszText,
             list);

    memset(&tvins, 0, sizeof(tvins));

    // Set the parent item
    //
    tvins.hParent = hTreeParent;

    tvins.hInsertAfter = TVI_LAST;

    // pszText and lParam members are valid
    //
    tvins.item.mask = TVIF_TEXT | TVIF_PARAM;

    // Set the text of the item.
    //
    tvins.item.pszText = szBuffer;

    // Set the user context item
    //
    tvins.item.lParam = lParam;

    // Add the item to the tree-view control.
    //
    hti = TreeView_InsertItem(ghTreeWnd, &tvins);

            // added
    tvins.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE;
    tvins.item.hItem = hti;

    // Determine which icon to display for the device
    tvins.item.iImage = giGoodDevice;
    tvins.item.iSelectedImage = giGoodDevice;

/*    if (!lParam)
    {
        if (!(strcmp("My Computer", lpszText)))
        {
            tvins.item.iImage = giComputer;
            tvins.item.iSelectedImage = giComputer;
        }
        else
        {
        //it is the host controller
        }
    }  */

    if (!ConnectInfo)
    {
        if (!(strcmp("My Computer", lpszText)))
            {
                tvins.item.iImage = giComputer;
                tvins.item.iSelectedImage = giComputer;
            }
            else
            {
            //it is the host controller
            }

    }
    else
    {
        if (ConnectInfo->DeviceIsHub)  // Device is a Hub!!
        {
            tvins.item.iImage = giHub;
            tvins.item.iSelectedImage = giHub;
        }
        if (!ConnectInfo->CurrentConfigurationValue)
        {
            tvins.item.iImage = giBadDevice;
            tvins.item.iSelectedImage = giBadDevice;

            if (NoDeviceConnected == ConnectInfo->ConnectionStatus) // Empty Port
            {
                tvins.item.iImage = giNoDevice;
                tvins.item.iSelectedImage = giNoDevice;
            }
        }
    }
    
    TreeView_SetItem(ghTreeWnd, &tvins.item);

    return hti;
}

//*****************************************************************************
//
// WalkTree()
//
//*****************************************************************************

VOID
WalkTree (
    HTREEITEM        hTreeItem,
    LPFNTREECALLBACK lpfnTreeCallback,
    DWORD            dwRefData
)
{
    if (hTreeItem)
    {
        // Recursively call WalkTree on the node's first child.
        //
        WalkTree(TreeView_GetChild(ghTreeWnd, hTreeItem),
                 lpfnTreeCallback,
                 dwRefData);

        //
        // Call the lpfnCallBack on the node itself.
        //
        (*lpfnTreeCallback)(ghTreeWnd, hTreeItem);

        //
        //
        // Recursively call WalkTree on the node's first sibling.
        //
        WalkTree(TreeView_GetNextSibling(ghTreeWnd, hTreeItem),
                 lpfnTreeCallback,
                 dwRefData);
    }
}

//*****************************************************************************
//
// ExpandItem()
//
//*****************************************************************************

VOID
ExpandItem (
    HWND      hTreeWnd,
    HTREEITEM hTreeItem
)
{
    //
    // Make this node visible.
    //
    TreeView_Expand(hTreeWnd, hTreeItem, TVE_EXPAND);
}


#if DBG

//*****************************************************************************
//
// Oops()
//
//*****************************************************************************

VOID
Oops
(
    CHAR *File,
    ULONG Line
)
{
    char szBuf[256];

    wsprintf(szBuf, "File: %s, Line %d", File, Line);

    MessageBox(ghMainWnd, szBuf, "Oops!", MB_OK);
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91一区二区三区在线观看| 精品一区二区在线播放| 国产在线看一区| 色94色欧美sute亚洲线路一ni| 日韩免费高清av| 一区二区免费看| 成人黄色免费短视频| 精品日韩欧美在线| 午夜精品在线视频一区| 成人性视频免费网站| 欧美三级资源在线| 99天天综合性| 精品一区二区三区免费观看| 欧美精品一区二区蜜臀亚洲| 香蕉影视欧美成人| 亚洲欧美一区二区久久| 国模套图日韩精品一区二区 | 国产精品免费免费| 精彩视频一区二区三区| 欧美一区二区国产| 亚洲丰满少妇videoshd| 日本久久电影网| 国产精品国模大尺度视频| 国产精品456| 久久久久国产精品麻豆ai换脸 | 一级特黄大欧美久久久| jlzzjlzz亚洲日本少妇| 国产女人水真多18毛片18精品视频| 激情文学综合插| 日韩女同互慰一区二区| 男人操女人的视频在线观看欧美| 欧美性感一区二区三区| 亚洲精品老司机| 色伊人久久综合中文字幕| 亚洲日本在线a| 91美女在线视频| 亚洲视频一二三| 91麻豆蜜桃一区二区三区| 亚洲欧美日本在线| 色婷婷综合激情| 亚洲线精品一区二区三区八戒| 91国偷自产一区二区三区观看 | 国产精品毛片a∨一区二区三区| 国产风韵犹存在线视精品| 国产日韩v精品一区二区| 成人黄动漫网站免费app| 国产精品久久免费看| voyeur盗摄精品| 亚洲日本一区二区三区| 在线视频你懂得一区| 亚洲国产综合色| 91精品国产综合久久久久久久| 午夜一区二区三区视频| 91精品国产色综合久久久蜜香臀| 美国欧美日韩国产在线播放| 欧美mv日韩mv| 国产不卡视频一区| 亚洲欧洲在线观看av| 色婷婷久久一区二区三区麻豆| 亚洲自拍偷拍九九九| 欧美日韩高清一区二区三区| 麻豆精品在线观看| 久久久精品天堂| 99久久婷婷国产| 亚洲一区二区三区四区在线 | 成人av免费在线| 亚洲欧美日韩精品久久久久| 欧美日韩久久久| 久久99精品久久久久久动态图| 久久午夜免费电影| 99麻豆久久久国产精品免费| 午夜精品一区二区三区免费视频 | 久久久99免费| aaa国产一区| 午夜久久久久久| 精品国产1区二区| 99国产麻豆精品| 日韩中文字幕麻豆| 国产日产欧美一区| 欧美亚洲综合久久| 精品一区二区在线免费观看| 亚洲丝袜精品丝袜在线| 欧美一区二区久久| 白白色 亚洲乱淫| 日韩中文字幕亚洲一区二区va在线 | 成人国产视频在线观看| 天天亚洲美女在线视频| 国产片一区二区| 精品视频在线免费看| 国产精品资源在线| 亚洲一区在线免费观看| 精品久久久久一区二区国产| 99久久综合精品| 美国毛片一区二区| 亚洲美女视频在线观看| 日韩欧美精品三级| 99久久er热在这里只有精品15| 日韩1区2区日韩1区2区| 国产精品欧美经典| 欧美一区二视频| 91偷拍与自偷拍精品| 青青草97国产精品免费观看 | 日韩视频在线观看一区二区| 成人永久免费视频| 丝袜美腿亚洲一区| 亚洲欧美一区二区在线观看| 欧美一区二区美女| 在线看一区二区| 国产成人av电影| 无吗不卡中文字幕| 日韩一区在线看| 精品国产乱码久久久久久影片| 色婷婷久久久综合中文字幕| 国产精品88888| 美女一区二区久久| 一区二区激情小说| 中日韩av电影| 久久亚洲私人国产精品va媚药| 欧美军同video69gay| 91色九色蝌蚪| 成人中文字幕合集| 国内成人自拍视频| 日本v片在线高清不卡在线观看| 亚洲欧美色一区| 中文字幕免费不卡在线| 精品国产乱子伦一区| 欧美一区二区啪啪| 欧美性色黄大片手机版| a美女胸又www黄视频久久| 国产一区二区伦理| 久久91精品国产91久久小草| 午夜不卡在线视频| 一区二区三区四区亚洲| 国产精品国产三级国产普通话99| 精品国精品国产| 日韩一级大片在线| 欧美另类z0zxhd电影| 在线观看日产精品| 91麻豆swag| 99re热视频这里只精品| 风间由美一区二区三区在线观看 | 欧美色网一区二区| 色哟哟国产精品免费观看| 99久久精品久久久久久清纯| 国产69精品久久久久毛片| 国产剧情av麻豆香蕉精品| 国产中文字幕精品| 狠狠狠色丁香婷婷综合久久五月| 欧美aaaaaa午夜精品| 青青草国产成人av片免费| 日本中文字幕一区二区有限公司| 日韩经典中文字幕一区| 午夜精品一区二区三区三上悠亚| 亚洲444eee在线观看| 午夜a成v人精品| 免费看欧美女人艹b| 免费观看在线色综合| 蜜乳av一区二区三区| 激情都市一区二区| 激情国产一区二区| 国产成人综合自拍| 国产999精品久久久久久绿帽| 国产成人高清视频| 福利91精品一区二区三区| 成人动漫一区二区三区| 99视频在线观看一区三区| 一本久久a久久免费精品不卡| 色吧成人激情小说| 在线播放国产精品二区一二区四区| 69精品人人人人| 精品噜噜噜噜久久久久久久久试看 | 不卡在线视频中文字幕| 波多野结衣在线aⅴ中文字幕不卡| av电影在线观看完整版一区二区| 91亚洲精品一区二区乱码| 欧美伊人久久久久久久久影院| 欧美日韩视频一区二区| 欧美一卡二卡三卡四卡| 欧美精品一区二| 国产精品国产精品国产专区不片| 亚洲日本电影在线| 亚洲福利一二三区| 美腿丝袜在线亚洲一区| 国产精品亚洲一区二区三区在线 | 欧美性受极品xxxx喷水| 欧美精品九九99久久| 精品国产污污免费网站入口| 国产农村妇女毛片精品久久麻豆| 亚洲色图一区二区三区| 婷婷综合另类小说色区| 精品午夜一区二区三区在线观看 | 紧缚奴在线一区二区三区| 国产成人亚洲综合a∨猫咪| 91亚洲国产成人精品一区二区三 | 欧美日韩国产综合一区二区三区 | 51午夜精品国产| 久久精品人人做人人爽97| 亚洲精品综合在线| 麻豆免费看一区二区三区| aaa欧美大片|