gettypeinfo.c

来自「防止进程被关测试通过」· C语言 代码 · 共 85 行

C
85
字号
//
// (w)ritten by Chuan-Liang Teng 2006, mailto:clteng@ms6.hinet.net
//
#include "gettypeinfo.h"
//
extern HWND _hDlg;
//
void ShowDevPropertyInfo(HWND hListView, char *szItemName,
                         char *szValue)
{
    short  wCount    = ListViewGetItemCount(hListView);
    char   szTmp[64] = {0};
    LVITEM lvItem    = {0};
//
    lvItem.iSubItem   = 1;
    lvItem.pszText    = szTmp;
    lvItem.cchTextMax = 63;
    SendMessage(hListView, LVM_GETITEMTEXT, wCount-1, (LPARAM)&lvItem);
    if (!*szTmp)
    {
        if (szItemName && szValue)
        {
            ListViewInsertItemText(hListView, wCount, 0, szItemName);
            ListViewInsertItemText(hListView, wCount, 1, szValue);
        }
        else if (szItemName && !szValue)
            ListViewInsertItemText(hListView, wCount, 0, szItemName);
        else if (!szItemName && szValue)
            ListViewInsertItemText(hListView, wCount-1, 1, szValue);
    }
    else
    {
        if (szItemName)
            ListViewInsertItemText(hListView, wCount, 0, szItemName);
        else
            ListViewInsertItemText(hListView, wCount, 0, "");
        if (szValue)
            ListViewInsertItemText(hListView, wCount, 1, szValue);
    };
};
//
void GetMoreInformation(HDEVINFO hDevInfo, SP_DEVINFO_DATA spDevInfoData,
                        const UINT nIDList1)
{
    HWND  hListView  = GetDlgItem(_hDlg, nIDList1);
    GUID  guid       = {0};
    short wCount     = ListViewGetItemCount(hListView);
    char  bIsBIG5    = (GetACP() == 950) ? 1 : 0;
    char  szName[64] = {0};
    DWORD dwAddr;
//
    if (SetupDiGetDeviceRegistryProperty(hDevInfo,
                                         &spDevInfoData,
                                         SPDRP_BUSNUMBER,
                                         0L,
                                         (PBYTE)&dwAddr, //szName,
                                         63,
                                         0))
    {
        sprintf(szName, "%X", dwAddr);
        wCount = ListViewGetItemCount(hListView);
        if (bIsBIG5)
        {
            ListViewInsertItemText(hListView, wCount, 0, "蹲瑈逼絪腹");
            ListViewInsertItemText(hListView, wCount, 1, szName);
        }
        else
        {
            ListViewInsertItemText(hListView, wCount, 0, "BUS Number");
            ListViewInsertItemText(hListView, wCount, 1, szName);
        };
    };
//
    if (SetupDiGetDeviceRegistryProperty(hDevInfo,
                                         &spDevInfoData,
                                         SPDRP_CAPABILITIES,
                                         0L,
                                         (PBYTE)&dwAddr, //szName,
                                         63,
                                         0))
    {
        if (dwAddr)
        {
            if (bIsBIG5)
                ShowDevPropertyInfo(hListView, "

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?