none
¿Como cambiar una referencia dentro del valor Shell ()? RRS feed

  • Pregunta

  • buen dia amigos, el motivo por el cual formulo esta pregunta es por el siguiente.

     

    Estoy creando una aplicacion que toma capturas basandose en el comando de otro ejecutable de la siguiente manera:

    Shell("javaloader -u screenshot C:\nombredelarchivo.jpg")

    lo que necesito es que el usuario pueda seleccionar el directorio en este caso C:\nombredelarchivo.jpg que se ocupara con el codigo de directorio en un textbox

    intente con el siguiente codigo pero al parecer no funciona:

     


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim CLAVE As String = Me.TextBox1.Text
    Shell("javaloader -u screenshot" & CLAVE)

     

    alguna otra alternativa?

    espero haberme explicado correctamente

    muchas gracias de antemano

     

    todo esto bajo visual studio 2008 express


    Saludos



    viernes, 29 de abril de 2011 23:00

Respuestas

  • hola

    como primer pinto no usea el Shell() usa la clases Process

    Process Class

    o sea usa

    Process.Start("javaloader ...")

    esta clase mas mas potente que el  Shell

     

    por otro lado si necesitas definir una ruta podrias configurarla en el archivo de configuracion de la aplicacion

    como comento aqui

    http://social.msdn.microsoft.com/Forums/es/vbes/thread/4f8a28df-1170-4b7e-a73e-718c1a2ddd87

    de esta forma en el config puedes definir la ruta donde esta la aplciacion tomando el valor de alli y si cambia editas con el notepad ese .config y lo editas porque es solo un xml

     

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 30 de abril de 2011 3:19

Todas las respuestas

  • hola

    como primer pinto no usea el Shell() usa la clases Process

    Process Class

    o sea usa

    Process.Start("javaloader ...")

    esta clase mas mas potente que el  Shell

     

    por otro lado si necesitas definir una ruta podrias configurarla en el archivo de configuracion de la aplicacion

    como comento aqui

    http://social.msdn.microsoft.com/Forums/es/vbes/thread/4f8a28df-1170-4b7e-a73e-718c1a2ddd87

    de esta forma en el config puedes definir la ruta donde esta la aplciacion tomando el valor de alli y si cambia editas con el notepad ese .config y lo editas porque es solo un xml

     

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 30 de abril de 2011 3:19
  • Excelente coloque 2 panales, uno con las opciones de modificar los datos de aplicacion con el bloc de notas y otro donde la imagen capturada se mueve a la carpeta temporal del sistema, posteriormente se muestra en el picturebox y en el boton guardar coloque para que se guarde lo que se muestra en el picturebox y elimine despues el archivo temporal del sistema,e ste fue el codigo que ocupe, por i es de utilidad para mas personas:

     

    Public

    Class Form5

     

    Public Sub cmd(ByVal myarg As String)

     

    Dim CLAVE As String = Me.TextBox1.Text

     

    Dim dir1 As String = (Environ("TEMP") & "\BBCaptura.BMP")

     

    Dim process As New Process

    process.StartInfo.UseShellExecute =

    False
     

    process.StartInfo.RedirectStandardOutput =

    True

    process.StartInfo.FileName =

    "javaloader.exe"

     

    'process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

     

    If ([CLAVE] = "") Then

    process.StartInfo.Arguments = (

    "-u" & myarg & dir1)

     

    Else

    process.StartInfo.Arguments = (

    "-u -w" & [CLAVE] & myarg & dir1)

     

    End If

    process.StartInfo.CreateNoWindow =

    True

    process.Start()

    process.WaitForExit()

     

    End Sub

     

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     

    Me.cmd(" screenshot """)

     

    Me.PictureBox1.Load((Environ("TEMP") & "\BBCaptura") & ".BMP")

    Button2.Enabled =

    True

    Button3.Enabled =

    True

     

    End Sub

     

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

     

    'Si en el diseo no hemos aadido el SaveFileDialog pondremos esto sin el apostrofe:

     

    'Dim guarda As SaveFileDialog

     

    Dim foto As New Bitmap(New Bitmap(PictureBox1.Image), PictureBox1.Width, PictureBox1.Height)

     

    'Creamos una variable llamada foto que ser un Bitmap con la imagen del picturebox, su anchura y su altura.

    guarda.Title =

    "Seleccione donde quiere guardar su Imagen"

    guarda.Filter =

    "JPG|*.jpg|Png|*.png|Gif|*.gif|Todos los archivos|*.*"

    guarda.FilterIndex = 0

    guarda.InitialDirectory =

    "C:\Documents and Settings\" & My.User.Name & "\Escritorio"

    guarda.RestoreDirectory =

    True

    guarda.FileName =

    ""

     

    'Lo mismo que antes pero esta vez para el SaveFileDialog

     

    If guarda.ShowDialog() = Windows.Forms.DialogResult.OK Then 'Si el pulsamos aceptar en la ventanita

     

    If guarda.FileName <> "" Then

     

    'Si la ruta del archivo del OpenFileDialog es diferente a nada, es decir, si tiene un nombre ser que hemos cargado una foto, de lo contrario nos dejara guardar una foto que realmente no tenemos.

     

    If guarda.FilterIndex = 0 Then 'Si elegimos la extensin jpg

    foto.Save(guarda.FileName.ToString, System.Drawing.Imaging.ImageFormat.Jpeg)

    'Formateamos el Bitmap a Jpeg y lo guardamos

     

    ElseIf guarda.FilterIndex = 1 Then

    foto.Save(guarda.FileName.ToString, System.Drawing.Imaging.ImageFormat.Png)

     

    ElseIf guarda.FilterIndex = 2 Then

    foto.Save(guarda.FileName.ToString, System.Drawing.Imaging.ImageFormat.Gif)

     

    'Con los dems es exactamente igual, pero cambiando el formato.

     

    End If

     

    End If

     

    End If

     

    End Sub

     

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

    Kill(Environ(

    "TEMP") & "\BBCaptura.BMP")

     

    Me.Close()

     

    End Sub
    sábado, 30 de abril de 2011 17:09
  • Buenas tardes,

    Una pregunta como identificó los argumentos que tengo que pasarle a un determinado software para ejecutar en el algún evento?

     

    Gracias.

    lunes, 9 de mayo de 2011 20:18