relacionado con this question, pero ... ¿es posible activar mediante API un nuevo escaneo de dispositivo de hardware? Tengo un dispositivo Bluetooth de puerto serie que estoy emparejando automáticamente a través de llamadas API con 32feet.net .NET Bluetooth, que funciona bastante bien. Si bien puedo consultar los servicios seriales en el escaneo del dispositivo, los puertos COM no aparecen en la pestaña Puertos COM del diálogo Dispositivos Bluetooth.¿Existe una llamada API para iniciar un escaneo de dispositivos de hardware
Respuesta
relacionada a Programmatically uninstall a device in windows device manager
Mi respuesta desde allí:
para forzar el 'escaneo de hardware cambios' checkout "How To Force Reenumeration of a Device Tree From an Application" la muestra no muestra cómo forzar a todo el árbol a sea re-enumerado
Responde en la siguiente ayuda? How can I find out a COM port number of a bluetooth device in c#?
En breve use System.IO.Ports.SerialPort.GetPortNames()
o WMI para listar los puertos serie, p. Comando de PowerShell:
C:\> Get-WmiObject -query "select DeviceID,PNPDeviceID from Win32_SerialPort"
que también se puede hacer en el código.
No estoy seguro si esto ayudará a su problema general, pero esto debería responder a la pregunta en su primera oración.
Originalmente hice algo como esto usando el instalador NSIS de Nullsoft hace algunos años.
Si lo que desea es desencadenar una exploración de hardware de vainilla se puede utilizar el siguiente código (proporcionado en C# por la etiqueta .net en esta pregunta):
Esta es la clase de contenedor para el P/Invoke funciones
public static class Win32Api
{
public const int CM_LOCATE_DEVNODE_NORMAL = 0x00000000;
public const int CM_REENUMERATE_NORMAL = 0x00000000;
public const int CR_SUCCESS = 0x00000000;
[DllImport("CfgMgr32.dll", SetLastError=true)]
public static extern int CM_Locate_DevNodeA(ref int pdnDevInst, string pDeviceID, int ulFlags);
[DllImport("CfgMgr32.dll", SetLastError=true)]
public static extern int CM_Reenumerate_DevNode(int dnDevInst, int ulFlags);
}
Esta es una muestra de cómo usarlos
int pdnDevInst = 0;
if (Win32Api.CM_Locate_DevNodeA(ref pdnDevInst, null, Win32Api.CM_LOCATE_DEVNODE_NORMAL) != Win32Api.CR_SUCCESS)
throw new Exception("something...");
if (Win32Api.CM_Reenumerate_DevNode(pdnDevInst, Win32Api.CM_REENUMERATE_NORMAL) != Win32Api.CR_SUCCESS)
throw new Exception("something else...");
Acabo de traducir esto rápidamente de los documentos de MSDN C++ y lo probé en un pico, así sé que funciona, pero no es de calidad de producción. Además, si le interesan los códigos de retorno específicos, puede buscarlos en cfgmgr32.h.
no miró las respuestas anteriores, pero en caso de que pensara que he copiado aquí la versión original que hice en NSIS: http://forums.winamp.com/showthread.php?t=192348 –
Además, la mía está en C# y la muestra MS está en VB clásico. –
Funciona como un encanto. Aviso: ¡TIENE QUE EJECUTAR LAS LLAMADAS DE WINAPI CON DERECHOS ADMINISTRATIVOS! Probado en Windows 8 x64 – JanW
Acabo de encontrar this SO post que también puede resolver mi problema u otros que encuentran esta pregunta.
- 1. Java sound api - Escaneo para dispositivos midi
- 2. Escaneo de hardware de adquisición de imágenes desde Java
- 3. ¿Hay una API de Java para tocar dispositivos como tabletas?
- 4. API de escaneo de virus .NET
- 5. API asíncrona para transmitir datos desde un dispositivo de hardware
- 6. Android API para comunicación entre dispositivos
- 7. ¿Existe una API .Net para informes de errores de Windows
- 8. ¿En qué dispositivos de hardware prueba sus aplicaciones de Android?
- 9. Java API para realizar una llamada telefónica
- 10. Java: cadena de escaneo para un patrón
- 11. KVM api para iniciar la máquina virtual
- 12. ¿Con qué dispositivos de hardware Android debo probar?
- 13. ¿Existe una API para cancelar una suscripción de renovación automática?
- 14. ¿existe alguna API para Moodle?
- 15. ¿Existe una API de JavaScript documentada para Windows Media Player?
- 16. ¿Cómo uso Grand Central Dispatch para iniciar una llamada asincrónica?
- 17. API de BlackBerry Messenger para dispositivos que no son RIM
- 18. ¿Existe una API para los Eventos de Google Plus
- 19. ¿Existe una API estándar emergente para bases de datos NoSQL?
- 20. software/hardware de escalado para un gran número de solicitudes externas de API?
- 21. ¿Existe API de tareas de Gmail?
- 22. ¿Algún servicio para probar aplicaciones de Android en múltiples dispositivos de hardware?
- 23. ¿Existe una API de Restful Blog
- 24. API especial para iniciar una aplicación desde mi aplicación
- 25. Cool Hardware/Dispositivos que se pueden programar en .NET?
- 26. Hardware para .NET Micro Framework
- 27. Fin de llamada() Después de iniciar una nueva actividad
- 28. ¿Cómo reinicio los dispositivos USB usando la API de Windows?
- 29. Iniciar llamada en Windows Phone 7
- 30. Use NodeJS para subir archivos en una llamada API
Gracias Ruddy, eso suena bien. Lo intentaré pronto. – kenny