Título: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: fary en 28 Febrero 2010, 18:26 pm Hola gente esta tarde me aburria y m e puesto a hacer este pequeño code, cirve para cambiarle el texto a una ventana. Usa dos Apis Findwindow para recuperar el handle de la ventana y Setwindowtext para cambiar el nombre. Si mas que hablar les dejo el code..
Código
Nos vemos... Salu2! Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Karcrack en 28 Febrero 2010, 20:06 pm Una muestra con SendMessageW() + WM_SETTEXT
Código
Código
Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Hasseds en 28 Febrero 2010, 21:17 pm Drinky, la variable handle no es string, es long, ;)
S2 Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: fary en 28 Febrero 2010, 21:18 pm Drinky, la variable handle no es string, es long, ;) S2 Cierto... ;) cuando llebas razon llebas razon ;) salu2! Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Karcrack en 28 Febrero 2010, 22:54 pm Cierto... ;) cuando llebas razon llebas razon ;) Llevas*No pretendo ser grosero, solo es que me duelen los ojos... Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: fary en 28 Febrero 2010, 23:32 pm Cierto... ;) cuando llebas razon llebas razon ;) Llevas*No pretendo ser grosero, solo es que me duelen los ojos... Tampoco me anden con finerias xD que eso ya sique es ganas de acer el tonto xD salu2! Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Karcrack en 28 Febrero 2010, 23:35 pm Tampoco me anden con finerias xD que eso ya sique es ganas de acer el tonto xD hacer*Es importante escribir bien, no es ninguna fineria... no poner acentos y tal aún, pero hay fallos graves... Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: fary en 28 Febrero 2010, 23:47 pm Tampoco me anden con finerias xD que eso ya sique es ganas de acer el tonto xD hacer*Es importante escribir bien, no es ninguna fineria... no poner acentos y tal aún, pero hay fallos graves... Pero tio no me vengas con estas que la mitad del foro ace esto xD y solo me lo decis a mi! Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Hasseds en 1 Marzo 2010, 00:27 am Dinky, solo son errores que si no lo cometes es mejor, por ejemplo (ya te lo habia dicho en otro post) usas mal FindWindow
handle = FindWindow (vbNullString, "Calculadora")' solo para un windows en castellano handle = FindWindow("SciCalc", vbNullString) ' para windows con cualquier idioma No te enojes, que tal si Clausuramos esa calculadora ??? Código: Option Explicit Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: BlackZeroX en 1 Marzo 2010, 06:38 am Dinky, solo son errores que si no lo cometes es mejor, por ejemplo (ya te lo habia dicho en otro post) usas mal FindWindow handle = FindWindow (vbNullString, "Calculadora")' solo para un windows en castellano handle = FindWindow("SciCalc", vbNullString) ' para windows con cualquier idioma No te enojes, que tal si Clausuramos esa calculadora ??? Código: Option Explicit Ese código esta mal, en primera no debe pasarse una api que devuelve cosas inestables directamente en otra en este caso findwindow dentro de Enablewindow NI TAMPOCO directamente pasar el handle devuelto, directamente a procesar en la siguiente linea. En pocas palabras debe verificarse que se a obtenido lo deseado y evitar jaladas de pelos posteriores. P.D.: No es necesario que Drinky use a huevo findwindow pero con la clase de ventana... así que... dejen que aprende a su modo, tampoco es de recalcarse lo en cada post... Sangrientas Lunas!¡. Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Hasseds en 1 Marzo 2010, 10:25 am Ese código esta mal, en primera] no debe pasarse una api que devuelve cosas inestables directamente en otra en este caso findwindow dentro de Enablewindow Si te referis a esto Private Sub Command1_Click() Call EnableWindow(FindWindow("SciCalc", vbNullString), 1) End Sub Es solo una puerta de escape para que no tenga que usar el administrador de tareas para cerrar la calculadora, y si vamos a hilar fino que nay que usar de hwnd en Enablewindow ?, una variable como devuelve FindWindows en este caso ? ... si no es asi entonces estas diciendo que en hwnd de Enablewindow o de cualquier API van Constantes ? ... bueno, si es así no lo sabia, me estoy enterando en este momente que la variable hwnd as Long es una constante. NI TAMPOCO directamente pasar el handle devuelto, directamente a procesar en la siguiente linea. En pocas palabras debe verificarse que se a obtenido lo deseado y evitar jaladas de pelos posteriores. handle = FindWindow("SciCalc", vbNullString) Call SendMessage(handle, &HC, 0, ByVal "CLAUSURADO") Call EnableWindow(handle, 0) En esta si, estamos de acuerdo , falta el "if handle <> 0 Then" No es necesario que Drinky use a huevo findwindow pero con la clase de ventana,,, creo que te referis a esto : handle = FindWindow (vbNullString, "Calculadora")' solo para un windows en castellano handle = FindWindow("SciCalc", vbNullString) ' para windows con cualquier idioma Para mi es logico, no tengo dudas. No es a huevo porque en este caso se ejecuta la calculadora en la linea anterior y el Hwnd es el correcto (aunque haya mas calculadoras abiertas) . PD: En este post hice solo dos acotaciones a Drinky, una que el valor de Hwnd es Long y no String y la otra acotacion fue el uso de FindWindows. Ninguna de las dos con "mala leche" Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Karcrack en 1 Marzo 2010, 12:34 pm B0X se refiere a que tienes que comprobar que el Handle sea distinto a 0, sino la cosa no funcionara...
Respecto al codigo inicial que presento Drinky: Código SetWindowText(): Devuelve un Boolean, no una cadena de texto... asi que la cadena 'drinky' ademas no volver a ser usada es del tipo incorrecto... FindWindow(): Como te dije por MSN hace tiempo mejor que trabajes con el ClassName :P Y en general, cuando compartas codigos mejor que los prepares en forma de funcion, y no en funcion a un command y a ser posible que tenga parametros, como en este caso la ventana (Hwnd) y el titulo nuevo... Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: fary en 1 Marzo 2010, 12:49 pm Puse lacalculador ade ejemplo... podria haber puesto cualquier otro programa..
Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Karcrack en 1 Marzo 2010, 13:00 pm Puse lacalculador ade ejemplo... podria haber puesto cualquier otro programa.. Pues eso te comento, que es mejor hacerlo en forma de funcion... Y luego si quieres pones un ejemplo con la calculadora (SciCalc)Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: BlackZeroX en 1 Marzo 2010, 19:26 pm Ese código esta mal, en primera] no debe pasarse una api que devuelve cosas inestables directamente en otra en este caso findwindow dentro de Enablewindow creo que te referis a esto : Private Sub Command1_Click() Call EnableWindow(FindWindow("SciCalc", vbNullString), 1) End Sub Es solo una puerta de escape para que no tenga que usar el administrador de tareas para cerrar la calculadora, y si vamos a hilar fino que nay que usar de hwnd en Enablewindow ?, una variable como devuelve FindWindows en este caso ? ... si no es asi entonces estas diciendo que en hwnd de Enablewindow o de cualquier API van Constantes ? ... bueno, si es así no lo sabia, me estoy enterando en este momente que la variable hwnd as Long es una constante. 1. KarCrack ya te respondió por mi. 2. Me reservo gran parte {Drinky no hace mucho que inicio con el uso de las APIS tengo entendido}, aun que se tiene razón con buscar por la clase de form, solo que es la segunda vez que lo veo de tu parte {la 1era fue en un off en un tema nada q ver}. Por que B0X ... Maldito SharKI, me puso el diminutivo y ya se expandió. Dulces Lunas!¡. Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Karcrack en 2 Marzo 2010, 00:10 am Por que B0X ... Maldito SharKI, me puso el diminutivo y ya se expandió. SharkI te puso ese diminutivo? :laugh: Que casualidad... no? :xDHe puesto eso pues por que como ha Hacker_Zero lo llamo H0... y soy muy vago... :P Si te moelsta tranquilo, copiare tu nick tal cual, tampoco es tanto esfuerzo ;) Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: Hasseds en 2 Marzo 2010, 16:35 pm 1. KarCrack ya te respondió por mi. 2. Me reservo gran parte {Drinky no hace mucho que inicio con el uso de las APIS tengo entendido}, aun que se tiene razón con buscar por la clase de form, solo que es la segunda vez que lo veo de tu parte {la 1era fue en un off en un tema nada q ver}. Si, "se tiene razon" con buscar por la clase de form" y Tambien que HWnd es long Si, "es la segunda vez que lo vez de mi parte", es porque nuevamente no se usó la clase (SciCalc) Si, "la 1era fue en un off en un tema nada q ver"... tal vez para mi si tenia sentido (no tengo que pedirte permiso para meter un comentario off o in) No me quedó claro si a lo que te referis en el primer parrafo de mi anterior post es lo que respondio KarCrack sobre checar el cero o fue la "sentencia" de : "no debe pasarse una api que devuelve cosas inestables directamente en otra " No tengo ganas de sueguir gastando energia en esto Título: Re: [MINI SOURCE]Cambiar el nombre a una ventana Publicado por: BlackZeroX en 2 Marzo 2010, 19:16 pm B0X se refiere a que tienes que comprobar que el Handle sea distinto a 0, sino la cosa no funcionara... |