Подключение к COM порту после переименования
От: Аноним  
Дата: 14.11.12 13:21
Оценка:
Добрый день! Я руководствовался 4 правилами переименовывания COM порта через реестр:
1. HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM утстанавлил нужный номер.
2. В HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB исправил маску.
3 и 4. В HKLM\SYSTEM\CurrentControlSet\Enum\ поменял friendlyName и в DeviceParametrs параметр PortName.

Всё переименовалось нормально, но программа не может подключится после установки, только после перезагрузки системы либо ПОСЛЕ УСТАНОВКИ НОВОГО порта. Почему так? Какие ещё можно использовать функции для обновления данных?
Re: Подключение к COM порту после переименования
От: okman Беларусь https://searchinform.ru/
Дата: 14.11.12 15:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день! Я руководствовался 4 правилами переименовывания COM порта через реестр:

А>1. HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM утстанавлил нужный номер.
А>2. В HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB исправил маску.
А>3 и 4. В HKLM\SYSTEM\CurrentControlSet\Enum\ поменял friendlyName и в DeviceParametrs параметр PortName.

А>Всё переименовалось нормально, но программа не может подключится после установки, только после перезагрузки системы либо ПОСЛЕ УСТАНОВКИ НОВОГО порта. Почему так? Какие ещё можно использовать функции для обновления данных?


Можно попробовать остановить и перезапустить устройство.
Например, с помощью SetupDiChangeState.
Re[2]: Подключение к COM порту после переименования
От: Аноним  
Дата: 14.11.12 16:05
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, Аноним, Вы писали:


А>>Добрый день! Я руководствовался 4 правилами переименовывания COM порта через реестр:

А>>1. HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM утстанавлил нужный номер.
А>>2. В HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB исправил маску.
А>>3 и 4. В HKLM\SYSTEM\CurrentControlSet\Enum\ поменял friendlyName и в DeviceParametrs параметр PortName.

А>>Всё переименовалось нормально, но программа не может подключится после установки, только после перезагрузки системы либо ПОСЛЕ УСТАНОВКИ НОВОГО порта. Почему так? Какие ещё можно использовать функции для обновления данных?


O>Можно попробовать остановить и перезапустить устройство.

O>Например, с помощью SetupDiChangeState.

Это не помогло:

SP_DEVINSTALL_PARAMS spDevInstall = new SP_DEVINSTALL_PARAMS();
spDevInstall.cbSize = Marshal.SizeOf(typeof(SP_DEVINSTALL_PARAMS));

if (SetupDiGetDeviceInstallParams(pDevInfoSet,
ref deviceInfoData,
ref spDevInstall))
{
spDevInstall.Flags |= DI_PROPERTIES_CHANGE;
SetupDiSetDeviceInstallParams(pDevInfoSet,
ref deviceInfoData,
ref spDevInstall);
}

bool res = SetupDiChangeState(pDevInfoSet, ref deviceInfoData);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.