SELECIONRA EL CONTROLADOR (DRIVER) DE WEBCAM DESDE VFP

51 views
Skip to first unread message

adem adem

unread,
Mar 6, 2024, 7:54:45 PM3/6/24
to publice...@googlegroups.com
¡Hola a todos!
Espero que estén bien. Quisiera pedirles su ayuda con un problema que estoy enfrentando.
Estoy utilizando un programa de terceros que requiere el uso de la webcam del PC y lo estoy ejecutando desde Visual FoxPro.. Cada vez que ejecuto este programa, Windows muestra un cuadro de diálogo (como se muestra en la imagen adjunta) solicitando la selección del controlador de la webcam. ¿Existe alguna manera de integrar los nombres de los controladores disponibles en un ComboBox en mi formulario para que pueda seleccionar una opción de forma predeterminada durante el proceso? O, ¿hay alguna forma de registrar la opción seleccionada en un archivo init, de modo que cada vez que se inicie el programa, se seleccione automáticamente la opción previamente elegida? Estoy buscando una solución para evitar tener que seleccionar manualmente el controlador cada vez que ejecuto el programa.
Para proporcionar un contexto, he estado trabajando en un código que puede identificar los controladores disponibles para la webcam en mi sistema. Aquí está parte del código que he utilizado:

LOCAL lcMessage
lcMessage  = ""
loWMI = Getobject("winmgmts:\\.\root\cimv2")
loDevices = loWMI.ExecQuery("SELECT * FROM Win32_PnPEntity WHERE Caption LIKE '%camera%'")
For Each loDevice In loDevices
If loDevice.Present
lcMessage = SPACE(40)+ "** The following drivers were found **" + Chr(13)
For Each loDevice In loDevices
If loDevice.Present
lcMessage = lcMessage + SPACE(20)+ "---------------------------------------------------------------------------------------" + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Name:................." + loDevice.Name + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Description:......." + loDevice.Description + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Device ID:..........." + loDevice.DeviceID + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "PNP Device ID:.." + loDevice.PNPDeviceID + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Class:................." + loDevice.PNPClass + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Manufacturer:...." + loDevice.Manufacturer + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Service:.............." + loDevice.Service + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Present:............." + "Yes" + Chr(13) + Chr(13)
Endif
Endfor
Exit
Endif
Endfor
If Empty(lcMessage)
lcMessage = SPACE(30)+ "No driver detected, information not available...!" + Chr(13) + Chr(13)
lcMessage = lcMessage + SPACE(20)+ "---------------------------------------------------------------------------------------" + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Name:................."+ Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Description:......." + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Device ID:..........." + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "PNP Device ID:.." + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Class:................." + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Manufacturer:...." + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Service:.............." + Chr(13)
lcMessage = lcMessage + SPACE(5)+ "Present:............." + "No" + Chr(13) + Chr(13)
Else
    Thisform.Edit1.Value = lcMessage
Endif


                                              Image.bmp       Agradecería mucho cualquier ayuda al respecto. ¡Gracias!
Reply all
Reply to author
Forward
0 new messages