Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: LixKeÜ en 29 Enero 2008, 02:21 am



Título: Ejecutar un bat desde vb6
Publicado por: LixKeÜ en 29 Enero 2008, 02:21 am
 Hola esa es la pregunta nose como ejecutar un bat en vb6 y que funcione. El bat lo que hace es descargar un archi a travez de un dat.
    Pero cuando lo ejecuto desde vb6 no funciona y cuando lo ejecuto con doble clik del mouse si... :huh:

 http://beto123456789.webcindario.com/BajarSolo.zip (http://beto123456789.webcindario.com/BajarSolo.zip)

 Lo nesesito ya que estoy haciendo un scaner de virus gracias desde ya.

 Pd: ejecuten el bat manualmente y vera que comienza a descargar el programa pero desde vb6 e probado de las siguintes formas y no finciona

Shell "cmd.exe /k" & p & App.Path & "\Scan\BajarSolo.bat", vbNormalFocus
Shell App.Path & "\Scan\BajarSolo.bat", vbNormalFocus

 con API
Dim res As Long
res = shellExecute(Me.hwnd, "Open",App.Path & "\Scan\BajarSolo.bat ", "", "", 1)

 Esto me esta volviendo loco Ayudaaaaaaa :rolleyes:


Título: Re: Ejecutar un bat desde vb6
Publicado por: Sancho.Mazorka en 29 Enero 2008, 07:14 am
Como andas amigo, tanto tiempo? ya tenes PC donde estas? Si no te acordas, fijate con el software de voz  ;)

Bueno vamos a tu problema, contame cual es el error que te da, yo cree un .bat, lo guarde en C:\ como archivo.bat despues en VB6 puse

Código
  1. Shell ("C:\archivo.bat")

y me lo ejecuto perfectamente!


Sancho.Mazorka    :¬¬


Título: Re: Ejecutar un bat desde vb6
Publicado por: LixKeÜ en 29 Enero 2008, 07:19 am
 Aca denuevo amigo jejeje  ;D. Estoy lejos de casa pero tengo una portatil con inter y todo jejeje. Bueno mirate el problema no esta en un bat comun sino en el que pongo alli para descargar el del enlace.

 Ese sirve para vajar el antivirus solo de un ftp o algo asi pero cuando lo ejecuto manualmente funciona y comienza la descarga del antivirus pero cundo trato de ejecutarlo a travez del visual no me funciona ;D es muy raro.


Título: Re: Ejecutar un bat desde vb6
Publicado por: Sancho.Mazorka en 29 Enero 2008, 08:20 am
Ya encontre el error, el problema es que como ejecutas el cmd (osea la consola) desde VB, la estas llamando desde el directorio donde esta el VB o desde SYSTEM32 dependiendo de como este el programa, entonces nunca va encontrar el archivo, entonces cada ruta que tengan tus archivos van a tener que estar completas! te pongo aca escrito los 2 archivos:

BajarSolo.bat

mkdir \scan\
ftp -s:C:\comandosSolo.dat 65.98.33.169


ComandosSolo.dat

anonymous
binary
get CLNBOOT.SIG \Scan\CLNBOOT.SIG
get EMDISK.EXE \Scan\EMDISK.EXE
get LICENSE.TXT \Scan\LICENSE.TXT
get SOLODOS.SIG \Scan\SOLODOS.SIG
get SOLOLITE.EXE \Scan\SOLOLITE.EXE
get SOLOM97.SIG \Scan\SOLOM97.SIG
get SOLOMON.VXD \Scan\SOLOMON.VXD
get SOLOREP.MON \Scan\SOLOREP.MON
get SOLOSCAN.DLL \Scan\SOLOSCAN.DLL
get SOLOSRT.SIG \Scan\SOLOSRT.SIG
get SOLOWIN.SIG \Scan\SOLOWIN.SIG
get SOLOWINA.SIG \Scan\SOLOWINA.SIG
get SOLOWINB.SIG \Scan\SOLOWINB.SIG
get SOLOWINC.SIG \Scan\SOLOWINC.SIG
get SOLOWM6.SIG \Scan\SOLOWM6.SIG
get SYSCHECK.COM \Scan\SYSCHECK.COM
bye

Formulario VB

Código
  1. Private Sub Command1_Click()
  2. Shell ("C:\BajarSolo.bat")
  3. End Sub

Esto funciona perfectamente, si o si tenes que declarar las direcciones, este ejemplo funciona si los 2 archivos (el .BAT y el .DAT) estan en el Disco Local C:\


Sancho.Mazorka    :¬¬


Título: Re: Ejecutar un bat desde vb6
Publicado por: LixKeÜ en 29 Enero 2008, 08:49 am
gracias amigo te agregue al msn.- Voy a ver si ahora puedo hacerlo andar cualquier cosa te aviso gracias.

 Tu nombre estara en los agradesimientos del scanlix 1.0 ;D


Título: Re: Ejecutar un bat desde vb6
Publicado por: ~~ en 29 Enero 2008, 18:05 pm
Si con Shell no te funciona siempre tienes las apis ShellExecute o WinExec


Título: Re: Ejecutar un bat desde vb6
Publicado por: Mr pom0 en 29 Enero 2008, 19:21 pm
shell "cmd.exe /c commando del ms-dos"
la /c hace que no pida permiso al ejecutar el comando y si al final le pones
shell "cmd.exe /c commando del ms-dos",vbHide esto hace que no salga el cmd de windows