FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cita:
El handle lo agarro con GetForegroundWindow sí o sí, porque la ventana abierta y activa es la que tiene el componente. No te preocupes, ya lo probé y funciona como debe. Saludos. |
#2
|
||||
|
||||
Concuerdo con roman al advertir que ese código tiene algo que llama la atención. Handle tiene el valor de la ventana que deseas siempre que le de tiempo a estar abierta en ese momento. Pero el código, tal como está me hace pensar que o bien el bucle sobra, o la obtención del Hanle debe realizarse dentro del mismo. Si la función pretende esperar a que el nombre de la clase del Handle obtenido sea el que esperas, entonces tu función debe ser modificada a algo como esto:
Saludos. |
#3
|
|||
|
|||
Cita:
El handle, por otra parte, lo consigo correctamente y sin problemas porque justo antes de entrar en la función abro la ventana. No entiendo por qué les cuesta tanto creer que funciona perfectamente... |
#4
|
|||
|
|||
Hola...
Será que es por que si en ese preciso momento alguna otra ventana se coloca al frente (un popup de alguna otra aplicación), tu método puede recibir el handle de la ventana incorrecta y fallar. Saludos... |
#5
|
|||
|
|||
Cita:
Igualmente, más allá de que los pop-ups están contemplados, la plataforma con la que trabaja la aplicación es OnTop y en ese preciso momento no tiene forma de devolver ningún pop-up. Es decir, los únicos pop-ups/raise que tira son en otras circunstancias, como por ejemplo al presionar botones. |
#6
|
||||
|
||||
Cita:
Pero, en todo caso, si así te sirve, pues ¿quiénes somos nosotros para contradecirte? // Saludos |
#7
|
|||
|
|||
Cita:
|
#8
|
||||
|
||||
Cita:
Por otro lado, hay algo que no queda claro. Si tú tienes un formulario con un control de edición, GetForegroundWindow y GetFocus no devuelven lo mismo. El primero te devolverá el formulario y el segundo el control de edición. Seguramente percibes que tu programa funciona bien, y me alegro por ello. Pero cuando algo funciona por las razones equivocadas, habría que poner atención en ello en lugar de obstinarse, pues en algún momento o circunstancia, te puede fallar. // Saludos |
#9
|
|||
|
|||
Cita:
Con el procedimiento WaitUntilFieldFocused intento poner un modo de asegurar que esté seleccionado el campo, nada más. Es muy probable que sea innecesario ese procedimiento, pero lo uso para asegurarme que ningún retraso o lag del SO interfiera con lo que hago. GetForegroundWindow lo uso para obtener el handle de la ventana como varias veces dije. En ningún momento usé el GetFocus. El handle lo llamo desde ahí solamente para poder pasárselo al GetClassName, pero en todo momento sé cuál es el handle, antes y después del procedimiento. Entonces, si GetClassName me pide un handle, guardo en una variable el handle de la ventana que abrí yo mismo. Como GetClassName me va a devolver el nombre del campo de texto, antes de llamar al procedimiento hago doble click en ese campo de texto. Teóricamente siempre que llame a WaitUntilFieldFocused voy a estar en ese campo de texto, por lo que teóricamente no es necesario. Pero repito que es pura y exclusivamente para asegurarme. Remarco, dejá de llamar obstinados a las personas porque no hagan las cosas de la misma manera que vos lo harías. No podemos ser todos tan perfectos como vos. Tu actitud me hace recordar un topic sobre los users que no aparecen más por el foro, y que la gran mayoría se fueron a otros foros. Tal vez debas rever tu actitud para con las personas. Hasta acá llegaron mis ganas de usar este foro. Ya me encontré anteriormente con vos y otros users "sabiondos" que se ponen en posición absolutamente pedante y rebajan a los que preguntan. Eso no es un foro. Suerte a todos. FIN |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
abrir aplicación externa desde delphi y detectar su cierre | petete2008 | API de Windows | 2 | 10-02-2012 11:44:23 |
Ejectuando una aplicacion externa | jandrorm | Varios | 5 | 09-02-2011 16:13:56 |
Manipular aplicación externa | oabel5 | API de Windows | 30 | 27-05-2010 07:04:41 |
Aplicacion externa a c++ | alloger | C++ Builder | 1 | 28-10-2006 00:37:09 |
Manipular una aplicacion externa | lookmydoom | API de Windows | 2 | 09-08-2006 22:22:52 |
|