Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: P4nd3m0n1um en 18 Noviembre 2016, 15:59 pm



Título: Argumentos o Parámetros en .EXE de vb.NET?
Publicado por: P4nd3m0n1um en 18 Noviembre 2016, 15:59 pm
Estuve buscando y con encontré nada, necesitaría pasar Argumentos o Parámetros más bien tomar desde un exe para completar por ejemplo un textbox, alguna idea?


Título: Re: Argumentos o Parámetros en .EXE de vb.NET?
Publicado por: engel lex en 18 Noviembre 2016, 16:04 pm
sirve esto?

http://foro.elhacker.net/net/como_hago_para_que_mi_programa_acepte_argumentos_por_linea_de_comando_vbnet-t282646.0.html (http://foro.elhacker.net/net/como_hago_para_que_mi_programa_acepte_argumentos_por_linea_de_comando_vbnet-t282646.0.html)


Título: Re: Argumentos o Parámetros en .EXE de vb.NET?
Publicado por: okik en 19 Noviembre 2016, 19:36 pm
No había entendido tu pregunta pero tras ver la respuesta de engel lex. Creo que entendí lo que quieres.

Supongo que lo que quieres es mediante una línea de comandos de consola llenar un textbox de tu aplicación del modo:

Código:
WindowsApplication1 text "hola mundo"
(donde WindowsApplication1 es el nombre de la aplicación)

Como te ha mostrado @engel lex, se puede obtener una entrada de comandos mediante Environment.GetCommandLineArgs() (https://msdn.microsoft.com/es-es/library/system.environment.getcommandlineargs(v=vs.110).aspx)

Código
  1. Dim Command() As String = Environment.GetCommandLineArgs()

Se obtiene una matriz donde cada palabra añade un elemento a la matriz:
Por ejemplo, si pones "WindowsApplication1  mañana es domingo", obtendrías:

Command(0) = WindowsApplication1
Command(1) = mañana
Command(2) = es
Command(3) = domingo


Entonces para crear una línea de comandos compuesta debes tener en cuenta esto. Así puedes establecer que si el primer comando es "open", ejecutar un proceso que sería el elemento (2) de la matriz.

Código
  1. If Command(1) = "open" then Process.Start(Commmand(2))


Ejemplo:

Código
  1.  
  2.        Dim Command() As String = Environment.GetCommandLineArgs
  3.        Select Case Command(1)
  4.            Case "open"
  5.                Process.Start(Command(2).ToString)
  6.            Case "text"
  7.                TextBox1.Text = Command(2).ToString
  8.        End Select


Crea un archivo CMD junto en el mismo directorio de la aplicación y le pones:

Código:
WindowsApplication1  text "Hola mundo"
(WindowsApplication1 es el nombre de la aplicación)

Se llenará el Textbox con el texto 'Hola mundo' (sin las comillas).


Si pones
Código:
WindowsApplication1 open notepad

Se abrirá el bloc de notas de Windows.


 
para obtener la línea de comandos completa usa  Environment.CommandLine.

      
Código
  1.  
  2.        Dim Command As String = Environment.CommandLine
  3.        MessageBox.Show(Command)