Ако щете вярвайте, ще пиша за Windows ! От няколко седмици на работата ми експериментирам за преминаване от серийни портове към USB на нашите устройства. Естествено най-лесно и избрания от мен вариант е просто да се използват чипове, които се разпознават от операционните системи (да, повечето съвременни ОС) като виртуален сериен порт. Проблема ми е, че всеки път като вкарам ново устройство в USB-то, Windows-а му заделя нов COM номер. Това с цел, следващия път като сложите същото устройство, да му се присвои същия номер. Добре, но аз повечето устройства никога повече няма да ги сложа (най-малкото същия чип вече е презаписан и се разпознава като нов) и така номерата си растат. Да не говорим, че ако включите и няколко GSM-а (чиито модеми работят на същия принцип), както беше ставало на моя служебен компютър и по едно време се озовавате с COM18 и се чудите как в старите програми да им кажете къде ви е устройството. На повечето опциите са от COM1 до COM4, в най-добрия случай до COM8.
Естествено си зададох въпроса, как да си освободя вече заетите номера ?!? В опциите на драйверите има да си нагласяш числото, но на повечето пише, че се използват (in use), и не могат да се изберат. След като знаех, че не се използват реших да потърся как става. Естествено Google ми беше пръв помощник. Най-хубавия начин, който намерих (без да се рови в регистрито) беше този:
стартирате си един cmd.exe
START > Run > cmd.exe <enter>
там пишете :
set devmgr_show_nonpresent_devices=1 <enter>
след което стартирате Device Manager-а
devmgmt.msc <enter>
Там от менюто (мисля, че View – сега нямам Windows да проверя) му давате да ви покаже скритите устройства и БУФ всичко, що някога е било закачано на Вашия компютър се появява ! След това с бутона Delete е лесно 🙂
Честно казано начина ми хареса. Много е Линукс стил 🙂 Жалко, че Microsoft не разгласяват подобна функционалност на тяхната ОС.