elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ejecutar .vbs con Vb.net
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar .vbs con Vb.net  (Leído 7,551 veces)
TMarmol

Desconectado Desconectado

Mensajes: 89


Just Learning


Ver Perfil WWW
Ejecutar .vbs con Vb.net
« en: 10 Mayo 2013, 20:26 pm »

tengo un pequeño programa, en el que se llama al cmd para hacer ping a una direccion ip, para que ese archivo se ejecutara de modo oculto, he creado un archivo con la extension vbs.

La cosa es que al ejecutar el archivo .vbs desde mi programa me sale un error del script diciendo que el archivo no existe, en cambio si lo ejecuto manualmente se abre perfectamente.

Gracias de antemano


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Ejecutar .vbs con Vb.net
« Respuesta #1 en: 10 Mayo 2013, 23:20 pm »

Entonces estás llamando mal, muestranos el código...


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Danyfirex


Desconectado Desconectado

Mensajes: 493


My Dear Mizuho


Ver Perfil
Re: Ejecutar .vbs con Vb.net
« Respuesta #2 en: 11 Mayo 2013, 00:14 am »

algo así debería funcionar.

Código
  1.  Process.Start("C:\WINDOWS\system32\cscript.exe", "C:\Testfiles\file.vbs")

saludos
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: Ejecutar .vbs con Vb.net
« Respuesta #3 en: 11 Mayo 2013, 08:10 am »

@TMarmol

1. No es necesario que crees primero un bat y luego un vbs para ejecutar el bat oculto, pues no estás usando Batch, estás en un lenguaje de verdad, aquí puedes usar la Class Process para definir las opciones del proceso y ejecutar el bat oculto. (windowstyle.hidden)
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx
http://msdn.microsoft.com/en-us/library/system.diagnostics.processwindowstyle.aspx

2. Debes tener en cuenta las comillas dobles y los nombres con espacio en los argumentos, como en Batch.

...Quizás eso es lo que te falla, si no muestras el código no lo sé, así que siguiendo el ejemplo de DanyFirex... sería así:
Código
  1. Process.Start("wscript.exe", """" & "C:\ruta con espacios\Script.vbs" & """")
O así, como prefieras:
Código
  1. Process.Start("wscript.exe", ControlChars.Quote & "C:\ruta con espacios\Script.vbs" & ControlChars.Quote)


De todas formas yo sólamente usaría la CMD si no hubiera otra alternativa, no sé exáctamente cuales son las intenciones de tu código Bat pero ...¿Has pensado en hacer ping usando los metodos del .NET?:

Esto es lo más sencillo:
Código
  1.        If My.Computer.Network.Ping("www.google.com") Then
  2.            MsgBox("success")
  3.        Else
  4.            MsgBox("no reply")
  5.        End If

Si quieres algo más customizable aquí tienes una función que acabo de codear:
Código
  1. #Region " Ping "
  2.  
  3.    ' [ Ping Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    ' MsgBox(Ping("www.google.com"))
  9.    ' MsgBox(Ping("www.google.com", 500))
  10.    ' MsgBox(Ping("www.google.com", 500, New Byte(128) {}, False))
  11.    ' MsgBox(Ping("www.google.com", 500, System.Text.Encoding.ASCII.GetBytes("Hello"), True))
  12.    ' For X As Int32 = 1 To 10 : If Not Ping("www.google.com", 1000) Then : MsgBox("Ping try " & X & " failed") : End If : Next : MsgBox("Ping successfully")
  13.  
  14.    Public Function Ping(ByVal Address As String, _
  15.                           Optional ByVal TimeOut As Int64 = 200, _
  16.                           Optional ByVal BufferData As Byte() = Nothing, _
  17.                           Optional ByVal FragmentData As Boolean = False, _
  18.                           Optional ByVal TimeToLive As Int64 = 128) As Boolean
  19.  
  20.        Dim PingSender As New System.Net.NetworkInformation.Ping()
  21.        Dim PingOptions As New System.Net.NetworkInformation.PingOptions()
  22.  
  23.        If FragmentData Then PingOptions.DontFragment = False Else PingOptions.DontFragment = True
  24.        If BufferData Is Nothing Then BufferData = New Byte(31) {} ' Sets a BufferSize of 32 Bytes
  25.        PingOptions.Ttl = TimeToLive
  26.  
  27.        Dim Reply As System.Net.NetworkInformation.PingReply = PingSender.Send(Address, TimeOut, BufferData, PingOptions)
  28.  
  29.        If Reply.Status = System.Net.NetworkInformation.IPStatus.Success Then
  30.            ' MsgBox("Address: " & Reply.Address.ToString)
  31.            ' MsgBox("RoundTrip time: " & Reply.RoundtripTime)
  32.            ' MsgBox("Time to live: " & Reply.Options.Ttl)
  33.            ' MsgBox("Buffer size: " & Reply.Buffer.Length)
  34.            Return True
  35.        Else
  36.            Return False
  37.        End If
  38.  
  39.    End Function
  40.  
  41. #End Region

Saludos
« Última modificación: 11 Mayo 2013, 09:09 am por EleKtro H@cker » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejecutar en vb6
Programación Visual Basic
pungados 6 2,547 Último mensaje 6 Octubre 2007, 20:40 pm
por papanoel_devacaciones
como ejecutar programa en memoria sin ejecutar el archivo « 1 2 »
Programación Visual Basic
Sai-To 13 10,911 Último mensaje 25 Mayo 2008, 18:14 pm
por Sai-To
Ejecutar sin gui
Análisis y Diseño de Malware
kworld 3 3,626 Último mensaje 25 Mayo 2010, 21:36 pm
por kworld
Ejecutar
Bases de Datos
OssoH 1 1,741 Último mensaje 1 Junio 2011, 09:57 am
por OssoH
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines