-
- реестр. Mahagam(557 знак., 08.04.2021 15:21)
- Нашелся жирный минус в этой конструкции!!! Если открыть порт и
выдернуть устройство, в этой ветке порт так и останется в наличии,
до закрытия порта!!! - Aleksey_75(19.05.2021 15:26)
- Угу. Винде вообще присущ такой геморрой с usb-com. - Гyдвин(20.05.2021 08:08)
- ниже описал ветку с VID/PID/iSN, там четко пропадает, вне зависимости открыт порт или нет ! - Aleksey_75(20.05.2021 11:17)
- Угу. Винде вообще присущ такой геморрой с usb-com. - Гyдвин(20.05.2021 08:08)
- Еще для инфы, в реестре можно получить доступ к iSerialNumber дескриптора устройства , к примеру для stm32 он будет в разделе "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbser\Enum" типа USB\VID_0483&PID_5740\xxxxxxx (x == iSerialNumber). Есть при подключенном устройстве, пропадает при выдергивании ! - Aleksey_75(15.05.2021 20:23)
- Для инфы имя устройства можно вычитать с VISA! - Aleksey_75(14.04.2021 19:49)
- с этого места чуть подробнее? - Mahagam(14.04.2021 22:11)
- в составе пакета CVI есть раздел NI-VISA, функции "VISA Librariy" Aleksey_75(206 знак., 14.04.2021 22:27, картинка, картинка)
- с этого места чуть подробнее? - Mahagam(14.04.2021 22:11)
- Спасибо! Очень красиво! погонял, работает как часики!!! Еще бы
научится получать производителя или имя устройства , было бы вообще
огонь ! - Aleksey_75(13.04.2021 20:51)
- Плохо, что в винде нельзя узнать, какой процесс какие COM-порты занимает. Только полным перебором всех процессов и чтения в каждом из них открытых хэндлов. Это очень долго. - Ale3000(15.04.2021 04:15)
- Ну а если выдернуть USB-девайс из разъема, то разве запись в
реестре от этого исчезнет? Пользоваться надо тем, что POV раньше
указал, а не в реестр лазить. - Kceния(13.04.2021 20:59, ссылка)
- в ветке HKLM\HARDWARE\DEVICEMAP\SERIALCOMM исчезает! в этой ветке
только подключенные устройства! - Aleksey_75(13.04.2021 21:07)
- Оно что же при каждом USB-коннекте реестр перетирает? - Kceния(14.04.2021 11:26)
- Нет конечно! UniSoft(159 знак., 20.05.2021 08:57, ссылка)
- "Мужчина, Вы уж определитесь, туда Вы или сюда, а то ёрзаете - туда-сюда, туда-сюда" - =AlexD=(20.05.2021 08:15)
- Точнее: добавляет/удаляет одну запись в реестре (реестр = БД) - Пaлыч(14.04.2021 14:58)
- так же можно реестр до дыр затереть!!! - Mahagam(14.04.2021 12:03)
- А кто сказал, что это недостойная цель? Юзер купит новый ПК, ВВП
вырастет, можно напечатать багсов, сделать на них немножко оружия и
радоваться жизни. - Evgeny_CD(14.04.2021 19:51)
- фантазируете ? этот раздел в файл вообще не идет, в раме живет! - Aleksey_75(14.04.2021 19:56)
- Чего сразу оружие? Синтезировать вещества. Те, от которых радость
жизни бывает... - SciFi(14.04.2021 19:54)
- Самогон, что ли? - symbions(15.04.2021 00:33)
- А кто сказал, что это недостойная цель? Юзер купит новый ПК, ВВП
вырастет, можно напечатать багсов, сделать на них немножко оружия и
радоваться жизни. - Evgeny_CD(14.04.2021 19:51)
- Оно что же при каждом USB-коннекте реестр перетирает? - Kceния(14.04.2021 11:26)
- в ветке HKLM\HARDWARE\DEVICEMAP\SERIALCOMM исчезает! в этой ветке
только подключенные устройства! - Aleksey_75(13.04.2021 21:07)
- Потом пройтись вот этим батничком ;) Кстати, весьма полезная штука.
Периодически запущаю, когда номера переходят за сотню после
втыкания пары-тройки BT "свистков" и пр. хрени. Гyдвин(94 знак., 08.04.2021 15:32)
- Засовыыал и в .bat и в .reg, всё равно 100500 портов. Что я делаю не так? Moлoдoй кoллeгa(1 знак., 14.04.2021 20:20, картинка)
- Это не батник, а .reg файл. Неиспользуемые порты видно, надо указать в менеджере драйверов Windows "show hidden devices", тогда их можно удалить руками (вместе с драйвером или без). - RxTx(14.04.2021 20:07)
- Спасибо! - De_user(14.04.2021 19:47)
- А о каком батнике идет речь? - Nikolaev_Aleksey(09.04.2021 08:15)
- В теле моего сообщения "начинка" *.bat файла. Этот батничек очищает
ветку реестра в которой перечислены существующие "занятые" COM
порты. Обычно со временем накапливается целая куча com портов, за
которыми закреплены номера. У меня, когда накапливается больше 4-5
десятков, запускаю этот батничек. Ну и да - если какой-либо драйвер
usb-com ранее устанавливался и, допустим, получил номер COM33, то
после процедуры его номер не меняется. Зато после очистки в
свойствах COM порта Гyдвин(211 знак., 09.04.2021 08:57)
- Отличная т.с. получилась исправлялка ситуёвины, Гудвин! SERGHIO(525 знак., 13.04.2021 22:50)
- А то после пары переустановок драйвера какого-нить BT "свистка" свободных COM портов в первой сотне не остается, даже если драйвера удалить за ненадобностью... - Гyдвин(09.04.2021 09:03)
- В теле моего сообщения "начинка" *.bat файла. Этот батничек очищает
ветку реестра в которой перечислены существующие "занятые" COM
порты. Обычно со временем накапливается целая куча com портов, за
которыми закреплены номера. У меня, когда накапливается больше 4-5
десятков, запускаю этот батничек. Ну и да - если какой-либо драйвер
usb-com ранее устанавливался и, допустим, получил номер COM33, то
после процедуры его номер не меняется. Зато после очистки в
свойствах COM порта Гyдвин(211 знак., 09.04.2021 08:57)
- Вот это "периодически запущаю" - как происходит? Сам в середине рабочего дня или прикладная программа от случая к случаю? - Kpoк(08.04.2021 15:47)
- Не надо трогать реестр. Это нормально работало на WinXP, но на Win7
и Win10 для доступа к реестру требуются права администратора. Уже
замучали программы, требующие права администратора при каждом
запуске . - Ale3000(08.04.2021 04:55)MBedder
- на запись - возможно. но на чтение то почему? - Mahagam(08.04.2021 22:35)
Блондинкимыши плакали, кололись, но продолжали оставлять в винде дефолтный верхний уровень UAC :)) - MBedder(08.04.2021 20:51)- Мой вариант таких прав не требует. И чтение информационных веток тоже ( но здесь у меня меньше уверенности ). - teap0t(08.04.2021 07:49)
- На Win2k/WinXP (про другие версии не знаю) в этой ветке реестра
хранятся сведения о всех подключавшихся к системе последовательных
портах. Они получают уникальный (очередной свободный после самого
старшего, но не более 255) номер в момент идентификации по VID/PID
и в дальнейшем всегда его используют (если насильно не удалить).
При этом ветка не сообщает о реальном присутствии данного
конкретного порта в системе именно сейчас. Я тут прикрепил свой
код, который teap0t(929 знак., 07.04.2021 10:55, ссылка)MBedder
- спасибо - Nikolaev_Aleksey(07.04.2021 11:12)
- Нашелся жирный минус в этой конструкции!!! Если открыть порт и
выдернуть устройство, в этой ветке порт так и останется в наличии,
до закрытия порта!!! - Aleksey_75(19.05.2021 15:26)
- Можно просто перебором все найти. VladislavS.(328 знак., 08.04.2021 14:58)
- Еще дополню - понравилось именно описание каждого порта. Не нужно
смотреть диспетчер устройств чтобы понять что это. Nikolaev_Aleksey(1 знак., 07.04.2021 11:01, картинка)
- Это либо SetupApi, либо WMI. Во всех предложениях ниже именно оно и
есть. ir0407(52 знак., 07.04.2021 11:08 - 11:42, ссылка)
- спасибо - Nikolaev_Aleksey(07.04.2021 11:12)
- Это либо SetupApi, либо WMI. Во всех предложениях ниже именно оно и
есть. ir0407(52 знак., 07.04.2021 11:08 - 11:42, ссылка)
- c++builder... POV_(878 знак., 07.04.2021 10:52, , картинка)
- Использую код по той же схеме, с отличием что для имени порта ... =RegQueryValueEx(DeviceKey,"PortName", .. описание берется также, SetupDiGetDeviceRegistryPropertyA В целом код посложнее, обрабатываются null, ошибки функций итд. - RxTx(14.04.2021 20:27)
- спасибо - Nikolaev_Aleksey(07.04.2021 11:12)
- Есть чудная поделка, которая показывает, как можно найти все порты 10-ю разными способами, на любой вкус. - ir0407(07.04.2021 10:37, ссылка)
- реестр. Mahagam(557 знак., 08.04.2021 15:21)