Página 1 de 1

Diferenciar ventanas

Publicado: 30 Dic 2010, 23:00
por Bethory
Buen dia: ante todo felices pascuas y feliz nuevo año :smt006
Mi objetivo en esta ocasión es hacer un script que diferencie dos instancias (ventanas) de la misma aplicación. El problema radica en que todas las ventanas tienen como Title "Lineage II" por lo tanto no puedo diferenciarlas correctamente
mi pregunta es ¿existe alguna alternativa para reconocer ventanas?
adjunto el sumario arrojado por AutoIT win info

>>>> Window <<<<
Title: Lineage II
Class: L2UnrealWWindowsViewportWindow
Position: 463, 218
Size: 1296, 758
Style: 0x14CF0000
ExStyle: 0x00040100
Handle: 0x00000000001103B2

>>>> Control <<<<
Class:
Instance:
ClassnameNN:
Name:
Advanced (Class):
ID:
Text:
Position:
Size:
ControlClick Coords:
Style:
ExStyle:
Handle:

>>>> Mouse <<<<
Position: 1500, 240
Cursor ID: 0
Color: 0xFFFEE8

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<


>>>> Hidden Text <<<<

Re: Diferenciar ventanas

Publicado: 31 Dic 2010, 14:18
por BasicOs
JEJE,
La pregunta es obvia en que se diferencian tus ventanas?
Si tienen los pixeles diferentes puedes además del titulo dentro de un IF THEN, hacer una comprobación del pixel, aunque hay más maneras por ejemplo la posición relativa de la ventana en la pantalla, etc..
Si puedes hacer un jpg para verlas puede ser más facil.
El Info del Autoit de da información para diferenciar las ventanas pero si no se diferencian tienes que buscar otras herramientas que también tiene autoit, como nombres de los procesos.exe, posición, tamaño, pixeles, etc.... y muchas otras cosas , algo que ya te da el sistema operativo,
Feliz y prospero año 2011
Salu22:)

Re: Diferenciar ventanas

Publicado: 05 Ene 2011, 17:20
por Bethory
Gracias por tu atención BasicOs :smt001

la solución a mi problema fue guardar en una variable el identificador interno de la ventana con la instrucción "WinGetHandle"
adjunto un pequeño código de ejemplo
AutoItSetOption("WinTitleMatchMode", 4)
Run("notepad.exe")
Sleep(800)
$ventana = WinGetHandle("Sin título:", "")
Send($ventana)
ConsoleWrite("-" & $ventana & @CRLF)
creditos y agradecimientos a mi amigo, usuario de esta comunidad gesher

Re: Diferenciar ventanas

Publicado: 10 Ene 2011, 15:54
por BasicOs
Gracias por compartir tu CODE !!!
Salu22:)