mantener consola

Iniciado por dimitrix, 21 Enero 2007, 18:48 PM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

Hola, haber si me explico, necesito manterner la consola, por ejemplo si pongo el codigo:
Shell "netstat"
Que cuando termine no se cierre




soplo

Primero declaramos la función en declaraciones
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Ahora cuando necesites en ese formulario ejecutas
sub command1_click()
dim res as long
res = ShellExecute(Me.hwnd, "Open", "c:\windows\system32\netstat.exe","", "", 1)
end sub

Callar es asentir ¡No te dejes llevar!

dimitrix

Sorry soplo pero se cierra




soplo

Acabo de ver que eso tampoco vale porque también se cierra.

Supongo que debes guardar el resultado en un archivo y conservar el archivo

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Ahora ejecutar el netstat sabiendo que se cerrará, pero guardando el resultado en un archivo

[code]shell "netstat >Salida.Txt",vbhide

Meter el resultado en el block de notas
sub command1_click()
dim res as long
res = ShellExecute(Me.hwnd, "Open", "salida.txt","", "", 1)
end sub
[/code]
Callar es asentir ¡No te dejes llevar!

dimitrix

Pero donde coloco el:

shell "netstat >Salida.Txt",vbhide

Yo lo pongo así y no funciona:

CitarPrivate Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
    ByVal lpFile As String, ByVal lpParameters As String, _
    ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
   
   

Sub command1_click()
Dim res As Long
res = ShellExecute(Me.hwnd, "Open", "salida.txt", "", "", 1)
End Sub





Syphroot

Has intentado algo asi:??


Shell "cmd /k netstat", vbNormal


Creo tambien se puede con la api ShellExecute

soplo

CitarPero donde coloco el:

shell "netstat >Salida.Txt",vbhide
Pues donde quieras ejecutar el netstat. Eso lo que hace es ejecutarlo sin mostrar nada, pero deja el resultado en un archivo llamado salida.txt

Cuando quieres mostrar eso lo que haces es sacar el block de notas con ello.
Callar es asentir ¡No te dejes llevar!

dimitrix

Ok, gracias :D

De todas formas, como el refran dice, si no sabes hacerlo de una manera hazlo de otra (a lo cutre)
http://foro.elhacker.net/index.php/topic,157519.0.html