Página 1 de 1
Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 15 Dic 2010, 23:42
por jriverac
Hola,
Soy un novato muy novato en Autoit. Estoy intentando reproducir los ejemplo mas simples para aprender pero no me funciona casi nada!!!
Quiero abrir el notepad y seleccionar el menu Archivo y luego abrir. Mi codigo es:
run("notepad.exe")
winwaitactive("Sin título - Bloc de notas")
send("Prueba")
WinMenuSelectItem("Sin título - Bloc de notas", "", "&Archivo","&Abrir" )
pero despues de escribir "Prueba" no hace nada....
Alguna ayuda?
Muchas gracias y disculpad lo simple de la pregunta.
Juan
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 16 Dic 2010, 09:39
por Ximorro
Mira no conocía esa función.
Pero A MÍ SÍ ME FUNCIONA. Así que no sé qué te estará pasando.
Lo que pasa que antes de abrir el diálogo de abrir, como se ha escrito lo de "Prueba", primero te pregunta si lo quieres guardar.
Así que el programa parece estar bien, a ver si te sale el diálogo detrás de otra ventana y no lo ves...
No tengas abiertos varios Notepad, a ver si se está liando... aunque de alguno de ellos debería ejecutar ese menú.
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 16 Dic 2010, 13:16
por jriverac
No lo entiendo, a mi no me funciona, no selecciona los menús... Que otro método hay para selecciónar un punto de menú?
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 16 Dic 2010, 13:43
por Ximorro
Puedes enviar las teclas del comando. Por ejemplo para Abrir es Control-A, así que con un
Send("^a")
solucionado.
O si no tiene atajo de teclado pues como lo harías a mano para ir al menú:
Alt+A (abre menú archivo)
Dos veces cursor abajo (para ponerse sobre la opción)
Enter (para ejecutarla)
O sea:
Send("!a")
Send("{DOWN 2}")
Send("{ENTER}")
Se pueden poner todas en un Send, pero por separar las acciones igual que te las he puesto arriba.
Eso sí, para que funcionen estos comandos debe estar activa la ventana correspondiente, piensa que es como si lo hicieras tú con el teclado.
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 16 Dic 2010, 14:54
por jriverac
Muchas gracias, lo probare, pero aun no entiendo pq no funciona lo anterior.
Un saludo,
Juan
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 16 Dic 2010, 18:02
por Chefito
Que sistema operativo utilizas? Ten cuidado con eso y mira bien el título de la ventana. En Windows 7 es con dos puntos en vez de con guión ("Sin título: Bloc de notas").
Para evitar esto puedes poner la clase en vez de el título:
Código: Seleccionar todo
run("notepad.exe")
winwaitactive("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]","","Edit1","Prueba")
WinMenuSelectItem("[CLASS:Notepad]", "", "&Archivo","&Abrir" )
Esto debe funcionar en cualquier S.O..
Aunque si lo pensamos, si te escribe la palabra Prueba, este no sería el problema
.
Otra forma algo más complicada es utilizando la udf que trae AutoIt para manejar menus (GuiMenu, son las funciones que empiezan por _GUICtrlMenu_.........) y el envio de mensajes. Con _sendmessage le envio un click al item 2 (abrir).
Código: Seleccionar todo
#Include <SendMessage.au3>
#include <WindowsConstants.au3>
run("notepad.exe")
winwaitactive("[CLASS:Notepad]")
$hWnd = WinGetHandle("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]","","Edit1","Prueba")
_SendMessage($hWnd,$WM_COMMAND,2)
Saludos.
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 17 Dic 2010, 17:13
por jriverac
Hola de nuevo,
Estoy bastante frustrado; mi codigo no funciona pero a Ximorro si.
El tuyo, Ximorro, no me funciona, pero el que ha puesto Chefito, el segundo bloque, mas complejo, si que funciona...
Tengo la version ultima de Sc1, Version 1.79 del Apr 16 2010 08:48:29 y un Windows XP...
Ahora, intento modificar el codigo de Chefito para abrir otro programa que tiene 3 ventanas, segun el Autoit v3 window info, la que quiero activar se llama asi:
Title: Control Center - Default
Class: WindowsForms10.Window.8.app.0.378734a
Advance Mode: [CLASS:WindowsForms10.Window.8.app.0.378734a; INSTANCE:8]
Como la Class de las 3 ventanas se llaman igual, intento usar esta linea para activar la ventana:
WinActivate("[TITLE:Control Center - Default]", "")
pero ni caso y entonces pruebo con esta otro forma:
WinActivate("[CLASS:WindowsForms10.Window.8.app.0.378734a; INSTANCE:8]", "")
y ni caso...
¿Como puedo activar esta ventana?
Muchas gracias!!
Juan
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 17 Dic 2010, 21:23
por jriverac
Hola de nuevo
Ya lo he conseguido, muchas gracias por vuestra ayuda, seguramente volvere a preguntar a medida que avance en AutoIt.
Saludos
Juan
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 18 Dic 2010, 10:33
por Chefito
De nada.
Me parece rarísimo que no te funcione el código. Todos van (de una forma u otra). Seguro que si lo pruebas en otro ordenador te va. Puede que en el tuyo no vaya por alguna cosa que hayas instalado o que se yo
.
Por cierto, he editado el código anterior del segundo bloque. Lo he simplificado mandandole solamente el click del item a la ventana principal (notepad) directamente. Así queda más facil y más compacto
.
Saludos.
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 19 Dic 2010, 15:03
por jriverac
Hola de nuevo,
He conseguido avanzar en casi todo, pero ahora me he atascado en esto:
En una pantalla determinada, hay varios radio buttons. Con el TAB, consigo llegar al que quiero activar, pero como el mouse anda donde quiere, no se como decir al mouse que se mueva al boton que ya esta resaltado, para hacer click.
Tampoco se hacerlo con el teclado, es decir, cuando ya tengo el radio button resaltado, con ENTER no consigo nada, deberia llevar el raton a ese boton...
Gracias
SAludos
Re: Muy basico: Como abrir el menu Archivo del notepad...
Publicado: 19 Dic 2010, 22:32
por Chefito
Te recomiendo que utilices más el buscador del foro, porque casi todas esas preguntas están ya contestadas. Busca por ejemplo el comando controlclick, o checkbox.
Ejemplo:
http://www.emesn.com/autoitforum/viewto ... lick#p8813
Saludos.