Boton Examinar [solucionado]

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Sam01
Mensajes: 4
Registrado: 01 Mar 2012, 09:18

Boton Examinar [solucionado]

Mensaje por Sam01 »

Buenas, Me dicen Sam y soy de Argentina. :smt006
Estoy creando un scrip que me logee en un juego (diablo2) :smt023
el script abre el juego pero necesito que el usuario pueda poder modificar la ruta donde se abre. :smt017
Mi idea es que en el form principal halla un boton tipo " Examinar..." el usuario hace click y busca el ejecutable del juego.
Dejo mi codigo:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$var2="Santy AutoLogin"; este es el nombre de la ventana
#Region ### START Koda GUI section ### Form=C:\Users\Sexy-Geek\Desktop\Form1.kxf
$Form1 = GUICreate($var2, 402, 143, 520, 233, -1,$WS_EX_WINDOWEDGE)
$kill = GUICtrlCreateButton("Kill", 248, 8, 105, 25)
$user = GUICtrlCreateInput("", 101, 32, 121, 24)
$pass = GUICtrlCreateInput("", 101, 70, 121, 24, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Label1 = GUICtrlCreateLabel("Usuario:", 8, 32, 54, 20)
$Label2 = GUICtrlCreateLabel("Pass:", 8, 72, 54, 20)
$enter = GUICtrlCreateButton("Entrar", 248, 40, 105, 81)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


While 1
	opt("WinTitleMatchMode",4) ;esto es para poder usar [CLASS]
	opt("MouseCoordMode",2); esto es para que me tome las coordenadas en modo cliente, pronto le dare utilidad

	$Msg = GUIGetMsg() ;esto lee el boton oprimido
	Select

	case $msg=$kill ;estas sentencias matan todos los procesos que abre el juego
			$killme=WinExists("[CLASS:Diablo II]","")
			while  $killme=1
			$killme=WinExists("[CLASS:Diablo II]","")
			WinKill("[class:Diablo II]","")
			WEnd



	Case $msg=$enter ;esto seria el AutoLogin
			$read_user=guictrlread($user)
			$read_pass=guictrlread($pass)
			Run("C:\Users\Sexy-Geek\Downloads\Diablo 2 by ocularisterribus\DIABLO 2\Diablo II.exe -w -ns -skiptobnet -locale eng") ;esto es lo que quiero poder modificar.
			;mi idea es que quede algo asi: run($Directorio_Del_Diablo2)
			WinWaitActive("[class:Diablo II]","")
			Sleep(1000)
			$var1=WinGetTitle("[CLASS:Diablo II]","")
			$hwnd= WinGetHandle($var1)
			WinSetTitle($var1,"",$var2)
			WinSetOnTop($var1,"","")
			controlsend("[Class:Diablo II]","",$hwnd,"{tab}"&$read_user&"{tab}"&$read_pass&"{enter}")

	Case $msg=$GUI_EVENT_CLOSE; esto cierra 
		GUIDelete()
ExitLoop
	EndSelect

WEnd


La parte que mas me importa seria esta:

Código: Seleccionar todo

Run("C:\Users\Sexy-Geek\Downloads\Diablo 2 by ocularisterribus\DIABLO 2\Diablo II.exe -w -ns -skiptobnet -locale eng")

Quiero que gracias al boton examinar, se guarde el path en una variable y dsp llamar a la funcion run de esta manera:

Código: Seleccionar todo

run($Directorio_Del_Diablo2)
No me gusta molestar mucho creando millones de temas con preguntas simples.Perdon por las molestias ocasionadas. JURO POR DIOS QUE TRATE DE BUSCAR LA SOLUCION ANTES DE POSTEAR. :smt048
Última edición por Sam01 el 01 Mar 2012, 20:46, editado 1 vez en total.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Boton Examinar

Mensaje por arkcrew »

Hola Sam,

En primer lugar, no te preocupes por preguntar lo que no sepas, intentamos siempre responder a las preguntas.

Pues bien amigo, para seleccionar una carpeta puedes utilizar FileSelectFolder , pero como he visto en tu caso, lo que queires es que el usuario seleccione el archivo, tienes la funcion FileOpenDialog.

Si necesitas más información sobre dichas funciones, miralas en la ayuda que vienen con ejemplo.

Para sacar ambas rutas debes meterlas en una variable (EJ; $var = FileOpenDialog(XXXXXXXXXX))

Saludos!
Sam01
Mensajes: 4
Registrado: 01 Mar 2012, 09:18

Re: Boton Examinar

Mensaje por Sam01 »

gracias por responder!

No me anda :( :smt013

Cree el boton "examinar"

Código: Seleccionar todo

$examinar = GUICtrlCreateButton("examinar", 101,100,100,100)
luego cuando lo presionas tendria que suceder esto:

Código: Seleccionar todo

case $msg=$examinar
			$openFile=FileOpenDialog("examinar",@homedrive,"*.exe")
y simplemente nada sucede :smt012
EDITO
habia puesto mal el filtro.
Debe ser asi "ejecutable(*.exe)"


:smt033 :smt032
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Boton Examinar [solucionado]

Mensaje por BasicOs »

Hola Sam..
Suele pasar, una coma o un punto más hace que falle todo, por eso lo de copiar y pegar los ejemplos de la ayuda, ayuda a coger estructuras funcionales donde solo cambian algunos pequeños datos personalizados para tus necesidades puntuales donde no hay que depurar mucho ;) :smt021 :smt021
Salu22:)
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Boton Examinar [solucionado]

Mensaje por arkcrew »

Hola,

Suele pasar, una coma o un punto más hace que falle todo, por eso lo de copiar y pegar los ejemplos de la ayuda ayuda a coger estructuras funcionales donde solo cambian algunos pequeños datos personalizados para tus necesidades puntuales donde no hay que depurar mucho ;)
Exacto, lo que debes hacer, el ver el ejemplo y entenderlo para luego aplciarlo a tu aplicación con los parámetros que te interesen.

Ah, me alegro que te haya servido la ayuda, espero que lances mucho ese juego, aunque ya casi que lo hagas para el Diablo 3 que en teoría blizzard lo sacará pronto ;)

Saludos!
Sam01
Mensajes: 4
Registrado: 01 Mar 2012, 09:18

Re: Boton Examinar [solucionado]

Mensaje por Sam01 »

esta bastante dificil esto, ahora quiero hacer un bot pero no es tan simple como parecia xD :smt037
Responder