Página 1 de 1

Boton Examinar [solucionado]

Publicado: 01 Mar 2012, 09:34
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

Re: Boton Examinar

Publicado: 01 Mar 2012, 10:31
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!

Re: Boton Examinar

Publicado: 01 Mar 2012, 20:25
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

Re: Boton Examinar [solucionado]

Publicado: 01 Mar 2012, 22:31
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:)

Re: Boton Examinar [solucionado]

Publicado: 02 Mar 2012, 11:47
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!

Re: Boton Examinar [solucionado]

Publicado: 03 Mar 2012, 18:29
por Sam01
esta bastante dificil esto, ahora quiero hacer un bot pero no es tan simple como parecia xD :smt037

Re: Boton Examinar [solucionado]

Publicado: 03 Mar 2012, 20:15
por BasicOs