mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 07:32:57 +00:00
[DEVMGMT]
Implement the "Show hidden devices" feature. svn path=/trunk/; revision=56214
This commit is contained in:
parent
a0d5e53b32
commit
e658cf65ee
24 changed files with 128 additions and 45 deletions
|
@ -136,11 +136,13 @@ InsertIntoTreeView(HWND hTreeView,
|
||||||
|
|
||||||
static INT
|
static INT
|
||||||
EnumDeviceClasses(INT ClassIndex,
|
EnumDeviceClasses(INT ClassIndex,
|
||||||
|
BOOL ShowHidden,
|
||||||
LPTSTR DevClassName,
|
LPTSTR DevClassName,
|
||||||
LPTSTR DevClassDesc,
|
LPTSTR DevClassDesc,
|
||||||
BOOL *DevPresent,
|
BOOL *DevPresent,
|
||||||
INT *ClassImage,
|
INT *ClassImage,
|
||||||
BOOL *IsUnknown)
|
BOOL *IsUnknown,
|
||||||
|
BOOL *IsHidden)
|
||||||
{
|
{
|
||||||
GUID ClassGuid;
|
GUID ClassGuid;
|
||||||
HKEY KeyClass;
|
HKEY KeyClass;
|
||||||
|
@ -150,6 +152,7 @@ EnumDeviceClasses(INT ClassIndex,
|
||||||
|
|
||||||
*DevPresent = FALSE;
|
*DevPresent = FALSE;
|
||||||
*DevClassName = _T('\0');
|
*DevClassName = _T('\0');
|
||||||
|
*IsHidden = FALSE;
|
||||||
|
|
||||||
Ret = CM_Enumerate_Classes(ClassIndex,
|
Ret = CM_Enumerate_Classes(ClassIndex,
|
||||||
&ClassGuid,
|
&ClassGuid,
|
||||||
|
@ -173,6 +176,11 @@ EnumDeviceClasses(INT ClassIndex,
|
||||||
/* This case is special because these devices don't show up with normal class enumeration */
|
/* This case is special because these devices don't show up with normal class enumeration */
|
||||||
*IsUnknown = IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_UNKNOWN);
|
*IsUnknown = IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_UNKNOWN);
|
||||||
|
|
||||||
|
if (ShowHidden == FALSE &&
|
||||||
|
(IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_LEGACYDRIVER) ||
|
||||||
|
IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_VOLUME)))
|
||||||
|
*IsHidden = TRUE;
|
||||||
|
|
||||||
if (SetupDiClassNameFromGuid(&ClassGuid,
|
if (SetupDiClassNameFromGuid(&ClassGuid,
|
||||||
ClassName,
|
ClassName,
|
||||||
RequiredSize,
|
RequiredSize,
|
||||||
|
@ -327,7 +335,8 @@ EnumDevices(INT index,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
ListDevicesByType(HWND hTreeView,
|
ListDevicesByType(HWND hTreeView,
|
||||||
HTREEITEM hRoot)
|
HTREEITEM hRoot,
|
||||||
|
BOOL bShowHidden)
|
||||||
{
|
{
|
||||||
HTREEITEM hDevItem;
|
HTREEITEM hDevItem;
|
||||||
TCHAR DevName[MAX_DEV_LEN];
|
TCHAR DevName[MAX_DEV_LEN];
|
||||||
|
@ -338,17 +347,20 @@ ListDevicesByType(HWND hTreeView,
|
||||||
INT index = 0;
|
INT index = 0;
|
||||||
INT DevImage;
|
INT DevImage;
|
||||||
BOOL IsUnknown = FALSE;
|
BOOL IsUnknown = FALSE;
|
||||||
|
BOOL IsHidden = FALSE;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
ClassRet = EnumDeviceClasses(index,
|
ClassRet = EnumDeviceClasses(index,
|
||||||
|
bShowHidden,
|
||||||
DevName,
|
DevName,
|
||||||
DevDesc,
|
DevDesc,
|
||||||
&DevExist,
|
&DevExist,
|
||||||
&DevImage,
|
&DevImage,
|
||||||
&IsUnknown);
|
&IsUnknown,
|
||||||
|
&IsHidden);
|
||||||
|
|
||||||
if ((ClassRet != -1) && (DevExist))
|
if ((ClassRet != -1) && (DevExist) && !IsHidden)
|
||||||
{
|
{
|
||||||
TCHAR DeviceName[MAX_DEV_LEN];
|
TCHAR DeviceName[MAX_DEV_LEN];
|
||||||
INT DevIndex = 0;
|
INT DevIndex = 0;
|
||||||
|
@ -442,7 +454,8 @@ ListDevicesByType(HWND hTreeView,
|
||||||
static HTREEITEM
|
static HTREEITEM
|
||||||
AddDeviceToTree(HWND hTreeView,
|
AddDeviceToTree(HWND hTreeView,
|
||||||
HTREEITEM hRoot,
|
HTREEITEM hRoot,
|
||||||
DEVINST dnDevInst)
|
DEVINST dnDevInst,
|
||||||
|
BOOL bShowHidden)
|
||||||
{
|
{
|
||||||
TCHAR DevName[MAX_DEV_LEN];
|
TCHAR DevName[MAX_DEV_LEN];
|
||||||
TCHAR FriendlyName[MAX_DEV_LEN];
|
TCHAR FriendlyName[MAX_DEV_LEN];
|
||||||
|
@ -453,6 +466,28 @@ AddDeviceToTree(HWND hTreeView,
|
||||||
INT ClassImage = 24;
|
INT ClassImage = 24;
|
||||||
CONFIGRET cr;
|
CONFIGRET cr;
|
||||||
|
|
||||||
|
ulLength = MAX_GUID_STRING_LEN * sizeof(TCHAR);
|
||||||
|
cr = CM_Get_DevNode_Registry_Property(dnDevInst,
|
||||||
|
CM_DRP_CLASSGUID,
|
||||||
|
NULL,
|
||||||
|
ClassGuidString,
|
||||||
|
&ulLength,
|
||||||
|
0);
|
||||||
|
if (cr == CR_SUCCESS)
|
||||||
|
{
|
||||||
|
pSetupGuidFromString(ClassGuidString, &ClassGuid);
|
||||||
|
|
||||||
|
if (bShowHidden == FALSE &&
|
||||||
|
(IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_LEGACYDRIVER) ||
|
||||||
|
IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_VOLUME)))
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* It's a device with no driver */
|
||||||
|
ClassGuid = GUID_DEVCLASS_UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
cr = CM_Get_Device_ID(dnDevInst,
|
cr = CM_Get_Device_ID(dnDevInst,
|
||||||
DevName,
|
DevName,
|
||||||
MAX_DEV_LEN,
|
MAX_DEV_LEN,
|
||||||
|
@ -480,23 +515,6 @@ AddDeviceToTree(HWND hTreeView,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ulLength = MAX_GUID_STRING_LEN * sizeof(TCHAR);
|
|
||||||
cr = CM_Get_DevNode_Registry_Property(dnDevInst,
|
|
||||||
CM_DRP_CLASSGUID,
|
|
||||||
NULL,
|
|
||||||
ClassGuidString,
|
|
||||||
&ulLength,
|
|
||||||
0);
|
|
||||||
if (cr == CR_SUCCESS)
|
|
||||||
{
|
|
||||||
pSetupGuidFromString(ClassGuidString, &ClassGuid);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* It's a device with no driver */
|
|
||||||
ClassGuid = GUID_DEVCLASS_UNKNOWN;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!SetupDiGetClassImageIndex(&ImageListData,
|
if (!SetupDiGetClassImageIndex(&ImageListData,
|
||||||
&ClassGuid,
|
&ClassGuid,
|
||||||
&ClassImage))
|
&ClassImage))
|
||||||
|
@ -532,7 +550,8 @@ AddDeviceToTree(HWND hTreeView,
|
||||||
static VOID
|
static VOID
|
||||||
EnumChildDevices(HWND hTreeView,
|
EnumChildDevices(HWND hTreeView,
|
||||||
HTREEITEM hRoot,
|
HTREEITEM hRoot,
|
||||||
DEVINST dnParentDevInst)
|
DEVINST dnParentDevInst,
|
||||||
|
BOOL bShowHidden)
|
||||||
{
|
{
|
||||||
HTREEITEM hDevItem;
|
HTREEITEM hDevItem;
|
||||||
DEVINST dnDevInst;
|
DEVINST dnDevInst;
|
||||||
|
@ -546,13 +565,15 @@ EnumChildDevices(HWND hTreeView,
|
||||||
|
|
||||||
hDevItem = AddDeviceToTree(hTreeView,
|
hDevItem = AddDeviceToTree(hTreeView,
|
||||||
hRoot,
|
hRoot,
|
||||||
dnDevInst);
|
dnDevInst,
|
||||||
if (hDevItem == NULL)
|
bShowHidden);
|
||||||
return;
|
if (hDevItem != NULL)
|
||||||
|
{
|
||||||
EnumChildDevices(hTreeView,
|
EnumChildDevices(hTreeView,
|
||||||
hDevItem,
|
hDevItem,
|
||||||
dnDevInst);
|
dnDevInst,
|
||||||
|
bShowHidden);
|
||||||
|
}
|
||||||
|
|
||||||
while (cr == CR_SUCCESS)
|
while (cr == CR_SUCCESS)
|
||||||
{
|
{
|
||||||
|
@ -564,13 +585,15 @@ EnumChildDevices(HWND hTreeView,
|
||||||
|
|
||||||
hDevItem = AddDeviceToTree(hTreeView,
|
hDevItem = AddDeviceToTree(hTreeView,
|
||||||
hRoot,
|
hRoot,
|
||||||
dnDevInst);
|
dnDevInst,
|
||||||
if (hDevItem == NULL)
|
bShowHidden);
|
||||||
break;
|
if (hDevItem != NULL)
|
||||||
|
{
|
||||||
EnumChildDevices(hTreeView,
|
EnumChildDevices(hTreeView,
|
||||||
hDevItem,
|
hDevItem,
|
||||||
dnDevInst);
|
dnDevInst,
|
||||||
|
bShowHidden);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)TreeView_SortChildren(hTreeView,
|
(void)TreeView_SortChildren(hTreeView,
|
||||||
|
@ -581,7 +604,8 @@ EnumChildDevices(HWND hTreeView,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
ListDevicesByConnection(HWND hTreeView,
|
ListDevicesByConnection(HWND hTreeView,
|
||||||
HTREEITEM hRoot)
|
HTREEITEM hRoot,
|
||||||
|
BOOL bShowHidden)
|
||||||
{
|
{
|
||||||
DEVINST devInst;
|
DEVINST devInst;
|
||||||
CONFIGRET cr;
|
CONFIGRET cr;
|
||||||
|
@ -592,7 +616,8 @@ ListDevicesByConnection(HWND hTreeView,
|
||||||
if (cr == CR_SUCCESS)
|
if (cr == CR_SUCCESS)
|
||||||
EnumChildDevices(hTreeView,
|
EnumChildDevices(hTreeView,
|
||||||
hRoot,
|
hRoot,
|
||||||
devInst);
|
devInst,
|
||||||
|
bShowHidden);
|
||||||
|
|
||||||
(void)TreeView_Expand(hTreeView,
|
(void)TreeView_Expand(hTreeView,
|
||||||
hRoot,
|
hRoot,
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Устройствата според свързването", IDC_DEVBYCONN
|
MENUITEM "Устройствата според свързването", IDC_DEVBYCONN
|
||||||
MENUITEM "Средствата според вида", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Средствата според вида", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Средствата според свързването", IDC_RESBYCONN, GRAYED
|
MENUITEM "Средствата според свързването", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Помощ"
|
POPUP "Помощ"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Zařízení podle připojení", IDC_DEVBYCONN
|
MENUITEM "Zařízení podle připojení", IDC_DEVBYCONN
|
||||||
MENUITEM "Prostředky podle typu", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Prostředky podle typu", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Prostředky podle připojení", IDC_RESBYCONN, GRAYED
|
MENUITEM "Prostředky podle připojení", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Nápověda"
|
POPUP "Nápověda"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||||
|
|
||||||
IDR_MAINMENU MENU
|
IDR_MAINMENU MENU
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Geräte nach Verbindung", IDC_DEVBYCONN
|
MENUITEM "Geräte nach Verbindung", IDC_DEVBYCONN
|
||||||
MENUITEM "Resourcen nach Typ", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Resourcen nach Typ", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Resourcen nach Verbindung", IDC_RESBYCONN, GRAYED
|
MENUITEM "Resourcen nach Verbindung", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Ausgeblendete Geräte anzeigen", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "&?"
|
POPUP "&?"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Συσκευές ανά σύνδεση", IDC_DEVBYCONN
|
MENUITEM "Συσκευές ανά σύνδεση", IDC_DEVBYCONN
|
||||||
MENUITEM "Πηγές ανά τύπο", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Πηγές ανά τύπο", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Πηγές ανά σύνδεση", IDC_RESBYCONN, GRAYED
|
MENUITEM "Πηγές ανά σύνδεση", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Βοήθεια"
|
POPUP "Βοήθεια"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Devices by connection", IDC_DEVBYCONN
|
MENUITEM "Devices by connection", IDC_DEVBYCONN
|
||||||
MENUITEM "Resources by type", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Resources by type", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Resources by connection", IDC_RESBYCONN, GRAYED
|
MENUITEM "Resources by connection", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Help"
|
POPUP "Help"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -25,6 +25,8 @@ BEGIN
|
||||||
MENUITEM "Dispositivos por conexión", IDC_DEVBYCONN
|
MENUITEM "Dispositivos por conexión", IDC_DEVBYCONN
|
||||||
MENUITEM "Recursos por tipo", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Recursos por tipo", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Recursos por conexión", IDC_RESBYCONN, GRAYED
|
MENUITEM "Recursos por conexión", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Ayuda"
|
POPUP "Ayuda"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Périphériques par connexion", IDC_DEVBYCONN
|
MENUITEM "Périphériques par connexion", IDC_DEVBYCONN
|
||||||
MENUITEM "Ressources par type", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Ressources par type", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Ressources par connexion", IDC_RESBYCONN, GRAYED
|
MENUITEM "Ressources par connexion", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Aide"
|
POPUP "Aide"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Device dengan koneksi", IDC_DEVBYCONN
|
MENUITEM "Device dengan koneksi", IDC_DEVBYCONN
|
||||||
MENUITEM "Resource dengan tipe", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Resource dengan tipe", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Resource dengan koneksi", IDC_RESBYCONN, GRAYED
|
MENUITEM "Resource dengan koneksi", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Bantuan"
|
POPUP "Bantuan"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Dispositivi per connessione", IDC_DEVBYCONN
|
MENUITEM "Dispositivi per connessione", IDC_DEVBYCONN
|
||||||
MENUITEM "Risorse per tipo", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Risorse per tipo", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Risorse per connessione", IDC_RESBYCONN, GRAYED
|
MENUITEM "Risorse per connessione", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Aiuto"
|
POPUP "Aiuto"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "デバイス (接続別)", IDC_DEVBYCONN
|
MENUITEM "デバイス (接続別)", IDC_DEVBYCONN
|
||||||
MENUITEM "リソ ース (種類別)", IDC_RESBYTYPE, GRAYED
|
MENUITEM "リソ ース (種類別)", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "リソ ース (接続別)", IDC_RESBYCONN, GRAYED
|
MENUITEM "リソ ース (接続別)", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "ヘルプ"
|
POPUP "ヘルプ"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -24,6 +24,8 @@ BEGIN
|
||||||
MENUITEM "Devices by connection", IDC_DEVBYCONN
|
MENUITEM "Devices by connection", IDC_DEVBYCONN
|
||||||
MENUITEM "Resources by type", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Resources by type", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Resources by connection", IDC_RESBYCONN, GRAYED
|
MENUITEM "Resources by connection", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "도움말"
|
POPUP "도움말"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -20,6 +20,8 @@ BEGIN
|
||||||
MENUITEM "Enheter etter tilkobling", IDC_DEVBYCONN
|
MENUITEM "Enheter etter tilkobling", IDC_DEVBYCONN
|
||||||
MENUITEM "Ressurser etter type", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Ressurser etter type", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Ressurser etter tilkobling", IDC_RESBYCONN, GRAYED
|
MENUITEM "Ressurser etter tilkobling", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Hjelp"
|
POPUP "Hjelp"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "Ur&ządzenia według połączenia", IDC_DEVBYCONN
|
MENUITEM "Ur&ządzenia według połączenia", IDC_DEVBYCONN
|
||||||
MENUITEM "Zaso&by według typu", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Zaso&by według typu", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Za&soby według połączenia", IDC_RESBYCONN, GRAYED
|
MENUITEM "Za&soby według połączenia", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Pomo&c"
|
POPUP "Pomo&c"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -21,6 +21,8 @@ BEGIN
|
||||||
MENUITEM "Dispozitive după &conexiune", IDC_DEVBYCONN
|
MENUITEM "Dispozitive după &conexiune", IDC_DEVBYCONN
|
||||||
MENUITEM "Resurse după t&ip", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Resurse după t&ip", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Resurse după c&onexiune", IDC_RESBYCONN, GRAYED
|
MENUITEM "Resurse după c&onexiune", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "&?"
|
POPUP "&?"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -22,6 +22,8 @@ BEGIN
|
||||||
MENUITEM "Устройства по подключению", IDC_DEVBYCONN
|
MENUITEM "Устройства по подключению", IDC_DEVBYCONN
|
||||||
MENUITEM "Ресурсы по типу", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Ресурсы по типу", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Ресурсы по подключению", IDC_RESBYCONN, GRAYED
|
MENUITEM "Ресурсы по подключению", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Справка"
|
POPUP "Справка"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -25,6 +25,8 @@ BEGIN
|
||||||
MENUITEM "Zariadenia podľa pripojenia", IDC_DEVBYCONN
|
MENUITEM "Zariadenia podľa pripojenia", IDC_DEVBYCONN
|
||||||
MENUITEM "Prostriedky podľa typu", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Prostriedky podľa typu", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Prostriedky podľa pripojenia", IDC_RESBYCONN, GRAYED
|
MENUITEM "Prostriedky podľa pripojenia", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Pomocník"
|
POPUP "Pomocník"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -27,6 +27,8 @@ BEGIN
|
||||||
MENUITEM "Enheter efter koppling", IDC_DEVBYCONN
|
MENUITEM "Enheter efter koppling", IDC_DEVBYCONN
|
||||||
MENUITEM "Resurcer efter typ", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Resurcer efter typ", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Resurcer efter koppling", IDC_RESBYCONN, GRAYED
|
MENUITEM "Resurcer efter koppling", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Hjälp"
|
POPUP "Hjälp"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -28,6 +28,8 @@ BEGIN
|
||||||
MENUITEM "อุปกรณ์แบ่งตามการเชื่อมต่อ", IDC_DEVBYCONN
|
MENUITEM "อุปกรณ์แบ่งตามการเชื่อมต่อ", IDC_DEVBYCONN
|
||||||
MENUITEM "แหล่งข้อมูลตามประเภท", IDC_RESBYTYPE, GRAYED
|
MENUITEM "แหล่งข้อมูลตามประเภท", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "แหล่งข้อมูลตามการเชื่อมต่อ", IDC_RESBYCONN, GRAYED
|
MENUITEM "แหล่งข้อมูลตามการเชื่อมต่อ", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "ช่วยเหลือ"
|
POPUP "ช่วยเหลือ"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -28,6 +28,8 @@ BEGIN
|
||||||
MENUITEM "Пристрої за підключенням", IDC_DEVBYCONN
|
MENUITEM "Пристрої за підключенням", IDC_DEVBYCONN
|
||||||
MENUITEM "Ресурси за типом", IDC_RESBYTYPE, GRAYED
|
MENUITEM "Ресурси за типом", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "Ресурси за підключенням", IDC_RESBYCONN, GRAYED
|
MENUITEM "Ресурси за підключенням", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "Довідка"
|
POPUP "Довідка"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -24,6 +24,8 @@ BEGIN
|
||||||
MENUITEM "设备,按连接", IDC_DEVBYCONN
|
MENUITEM "设备,按连接", IDC_DEVBYCONN
|
||||||
MENUITEM "资源,按类型", IDC_RESBYTYPE, GRAYED
|
MENUITEM "资源,按类型", IDC_RESBYTYPE, GRAYED
|
||||||
MENUITEM "资源,按连接", IDC_RESBYCONN, GRAYED
|
MENUITEM "资源,按连接", IDC_RESBYCONN, GRAYED
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Show hidden devices", IDC_SHOWHIDDEN
|
||||||
END
|
END
|
||||||
POPUP "帮助"
|
POPUP "帮助"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
|
@ -217,11 +217,11 @@ DeviceEnumThread(LPVOID lpParameter)
|
||||||
switch (Info->Display)
|
switch (Info->Display)
|
||||||
{
|
{
|
||||||
case DevicesByType:
|
case DevicesByType:
|
||||||
ListDevicesByType(Info->hTreeView, hRoot);
|
ListDevicesByType(Info->hTreeView, hRoot, Info->bShowHidden);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DevicesByConnection:
|
case DevicesByConnection:
|
||||||
ListDevicesByConnection(Info->hTreeView, hRoot);
|
ListDevicesByConnection(Info->hTreeView, hRoot, Info->bShowHidden);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -238,6 +238,9 @@ static VOID
|
||||||
UpdateViewMenu(PMAIN_WND_INFO Info)
|
UpdateViewMenu(PMAIN_WND_INFO Info)
|
||||||
{
|
{
|
||||||
UINT id = IDC_DEVBYTYPE;
|
UINT id = IDC_DEVBYTYPE;
|
||||||
|
HMENU hMenu;
|
||||||
|
|
||||||
|
hMenu = GetMenu(Info->hMainWnd);
|
||||||
|
|
||||||
switch (Info->Display)
|
switch (Info->Display)
|
||||||
{
|
{
|
||||||
|
@ -255,11 +258,15 @@ UpdateViewMenu(PMAIN_WND_INFO Info)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckMenuRadioItem(GetMenu(Info->hMainWnd),
|
CheckMenuRadioItem(hMenu,
|
||||||
IDC_DEVBYTYPE,
|
IDC_DEVBYTYPE,
|
||||||
IDC_RESBYCONN,
|
IDC_RESBYCONN,
|
||||||
id,
|
id,
|
||||||
MF_BYCOMMAND);
|
MF_BYCOMMAND);
|
||||||
|
|
||||||
|
CheckMenuItem(hMenu,
|
||||||
|
IDC_SHOWHIDDEN,
|
||||||
|
MF_BYCOMMAND | (Info->bShowHidden) ? MF_CHECKED : MF_UNCHECKED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -598,6 +605,14 @@ MainWndCommand(PMAIN_WND_INFO Info,
|
||||||
OnRefresh(Info);
|
OnRefresh(Info);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case IDC_SHOWHIDDEN:
|
||||||
|
{
|
||||||
|
Info->bShowHidden = !Info->bShowHidden;
|
||||||
|
UpdateViewMenu(Info);
|
||||||
|
OnRefresh(Info);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -794,6 +809,7 @@ CreateMainWindow(LPCTSTR lpCaption,
|
||||||
{
|
{
|
||||||
Info->nCmdShow = nCmdShow;
|
Info->nCmdShow = nCmdShow;
|
||||||
Info->Display = DevicesByType;
|
Info->Display = DevicesByType;
|
||||||
|
Info->bShowHidden = TRUE;
|
||||||
|
|
||||||
hMainWnd = CreateWindowEx(WS_EX_WINDOWEDGE,
|
hMainWnd = CreateWindowEx(WS_EX_WINDOWEDGE,
|
||||||
szMainWndClass,
|
szMainWndClass,
|
||||||
|
|
|
@ -40,6 +40,7 @@ typedef struct _MAIN_WND_INFO
|
||||||
int nCmdShow;
|
int nCmdShow;
|
||||||
|
|
||||||
DISPLAY_TYPE Display;
|
DISPLAY_TYPE Display;
|
||||||
|
BOOL bShowHidden;
|
||||||
|
|
||||||
/* status flags */
|
/* status flags */
|
||||||
UINT InMenuLoop : 1;
|
UINT InMenuLoop : 1;
|
||||||
|
@ -71,8 +72,8 @@ HWND CreateMainWindow(LPCTSTR lpCaption, int nCmdShow);
|
||||||
VOID FreeDeviceStrings(HWND hTreeView);
|
VOID FreeDeviceStrings(HWND hTreeView);
|
||||||
VOID OpenPropSheet(HWND hTreeView, HTREEITEM hItem);
|
VOID OpenPropSheet(HWND hTreeView, HTREEITEM hItem);
|
||||||
HTREEITEM InitTreeView(HWND hTreeView);
|
HTREEITEM InitTreeView(HWND hTreeView);
|
||||||
VOID ListDevicesByType(HWND hTreeView, HTREEITEM hRoot);
|
VOID ListDevicesByType(HWND hTreeView, HTREEITEM hRoot, BOOL bShowHidden);
|
||||||
VOID ListDevicesByConnection(HWND hTreeView, HTREEITEM hRoot);
|
VOID ListDevicesByConnection(HWND hTreeView, HTREEITEM hRoot, BOOL bShowHidden);
|
||||||
|
|
||||||
|
|
||||||
/* misc.c */
|
/* misc.c */
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#define IDC_DEVBYCONN 105
|
#define IDC_DEVBYCONN 105
|
||||||
#define IDC_RESBYTYPE 106
|
#define IDC_RESBYTYPE 106
|
||||||
#define IDC_RESBYCONN 107
|
#define IDC_RESBYCONN 107
|
||||||
|
#define IDC_SHOWHIDDEN 108
|
||||||
|
|
||||||
/* tooltips */
|
/* tooltips */
|
||||||
#define IDS_TOOLTIP_PROP 6000
|
#define IDS_TOOLTIP_PROP 6000
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue