Ver Mensaje Individual
  #19  
Antiguo 22-05-2012
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Reputación: 15
BrunoBsso Va por buen camino
Thumbs down

Cita:
Empezado por roman Ver Mensaje
Esto es lo que no es cierto. Tu programa está funcionando debido al sleep. El valor de Buffer es el mismo que obtienes desde que llamaste a GetForegroundWindow. Si, por alguna razón, Buffer no tuviera el valor que esperas, nunca lo obtendrá dentro del ciclo y éste jamás terminará.

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
Empecemos por no llamarme obstinado, no hay por qué.
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
Responder Con Cita