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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ¿como paso datos a un programa concreto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿como paso datos a un programa concreto?  (Leído 2,053 veces)
Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
¿como paso datos a un programa concreto?
« en: 27 Agosto 2006, 01:20 am »

pues eso ando buscando como enviarle datos a una consola de cmd.exe concreta... estoy usando shellexecuteex pero nose si es, ¿es esa api?


« Última modificación: 27 Agosto 2006, 01:22 am por Hans el Topo » En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: ¿como paso datos a un programa concreto?
« Respuesta #1 en: 27 Agosto 2006, 01:46 am »

yo hago esto...

declaro las estructuras,apis...
Código:
'estructura de shellexecuteinfo
Const SEE_MASK_IDLIST = &H4
Dim slayer as variant  'pid del proceso

Private Type SHELLEXECUTEINFO
    cbSize As Long
    fMask As Long
    hwnd As Long
    lpVerb As String
    lpFile As String
    lpParameters As String
    lpDirectory As String
    nShow As Long
    hInstApp As Long
    lpIDList As Long
    lpClass As String
    hkeyClass As Long
    dwHotKey As Long
    hIcon As Long
    hProcess As Long
End Type
Private Declare Function ShellExecuteEx Lib "shell32.dll" (SEI As SHELLEXECUTEINFO) As Long

funcioncita para pasar valores
Código:
Private Sub kill_slayer(FileName As String, OwnerhWnd As Long, comandos As String, mataid As Variant)
    Dim SEI As SHELLEXECUTEINFO
    Dim r As Long
    With SEI
        'Set the structure's size
        .cbSize = Len(SEI)
        'Seet the mask
        .fMask = SEE_MASK_IDLIST
        'Set the owner window
        .hwnd = OwnerhWnd
        'Show the properties
        .lpVerb = ""
        'Set the filename
        .lpFile = FileName
        .lpParameters = comandos
        .lpDirectory = vbNullChar
        .nShow = 0
        .hInstApp = 0
        .lpIDList = mataid
    End With
    r = ShellExecuteEx(SEI)
End Sub

Código:
 Private Sub tmrcontrola_Timer()
    'controla si existe una ventana de cmd abierta
   
    slayer = BuscaPid("cmd.exe")
    If slayer <> 0 Then 'si existe una ventana de cmd
        'la cerramos
        kill_slayer "cmd.exe", Me.hwnd, "exit ", slayer
    End If
End Sub

no pongo todas las declaraciones de esta función...la pille de aqui del foro
'
Código:
DEVUELVE EL PID DE UN PROCESO A PARTIR DE SU NOMBRE
Private Function BuscaPid(Nombre As String) As Long
    Dim Uno As Long
    Dim Info As PROCESSENTRY32

    Info.dwSize = Len(Info)
    Uno = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
    Call Process32First(Uno, Info)

    'mientras tenga valor correcto
    Do While Process32Next(Uno, Info)
        'si coinciden damos el resultado
        If lstrcmp(Nombre, Info.szExeFile) = 0 Then
            BuscaPid = Info.th32ProcessID
            Exit Do
        End If
    Loop
    CloseHandle (Uno)
End Function

pues al ejecutarlo me peta...


« Última modificación: 27 Agosto 2006, 01:53 am por Hans el Topo » En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: ¿como paso datos a un programa concreto?
« Respuesta #2 en: 30 Agosto 2006, 23:29 pm »

¿nadie ha enviado nunca comandos a un programa desde vb?
En línea



Desconectado Desconectado

Mensajes: 944


en la cuna !!


Ver Perfil WWW
Re: ¿como paso datos a un programa concreto?
« Respuesta #3 en: 30 Agosto 2006, 23:48 pm »

http://www.elguille.info/colabora/NET2005/jtorres_redirigirVB.htm

mira ver si eso t ayuda !!
En línea

el tiempo pondrá a cada uno en su lugar
Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: ¿como paso datos a un programa concreto?
« Respuesta #4 en: 31 Agosto 2006, 15:15 pm »

Lo que tenes que hacer es usar pipes para interactuar con la consola.

Busca "Pipes" en el foro con el botoncito :P, esta la api completa por ahi, fijate que sea una buena, porque hay una mediocre, que no permite recibir respuestas, o esa te puede servir como ejemplo por si queres crear un code completo vos.


Salu2.
En línea

sr. oscuro

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: ¿como paso datos a un programa concreto?
« Respuesta #5 en: 1 Septiembre 2006, 13:24 pm »

gracias
En línea

foobar

Desconectado Desconectado

Mensajes: 47


Ver Perfil
Re: ¿como paso datos a un programa concreto?
« Respuesta #6 en: 2 Septiembre 2006, 18:33 pm »

Interprocess Communications (Inglés)

Cómo utilizar canalizaciones con nombre (Named Pipes) para comunicación en Visual Basic
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con paso de Datos
Desarrollo Web
Joker.Guzman 0 1,466 Último mensaje 17 Septiembre 2013, 02:42 am
por Joker.Guzman
Windows no reconoce el icono asociado a un programa concreto. Cambia pdf por doc
Windows
helejagy 4 3,489 Último mensaje 23 Octubre 2013, 13:42 pm
por helejagy
Como paso datos entre varios jsp
Java
kikian94 0 2,536 Último mensaje 22 Mayo 2015, 10:29 am
por kikian94
Ayuda con paso de un programa
Programación C/C++
Jay 1 1,782 Último mensaje 21 Agosto 2019, 02:15 am
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines