hackers! Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
20 de Marzo de 2010, 08:38:36
Inicio Buscar Ayuda Ingresar Registrarse
Noticias: ATENCION! El batch lab de CPH se renueva, para formar parte de el haz click aqui
Gracias gente :
Ecuador!Guatemala!!UruguayBrasilRepublica DominicanaBolivia *USAColombia!ESPAÑA!Venezuela!Chile **El Peru!ArgentinaMexico
+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Basic (Moderadores: 3D1, alexmanycool)
| | | |-+  Manual - Crear un Comando MS-DOS con VB6 [Completando...]
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Manual - Crear un Comando MS-DOS con VB6 [Completando...]  (Leído 930 veces)
Que buscas?..
3D1
Moderador
*****
Desconectado Desconectado

Mensajes: 1,859


El primer programador es DIOS (El SoftWare mas complejo el Hombre)!!! -> No preguntes por MP si no usaste Google primero.


Ver Perfil WWW
« : 29 de Diciembre de 2009, 01:49:57 »

REGALO SECCION - Un regalo a la seccion de VB6 por fin de año

    Se que faltan dos días, pero no se si voy a estar online estos dos días así que por las dudas, hace mucho que tenia que hacer un tutorial pero por falta de tiempo y algunos otros factores no he podido terminar, así que les dejo esto, es lo básico pero al menos es algo. Grin

  • Mi Consola de comandos personal XD
   Pues vi que a muchos les gusta VB6 y Batch, y les gusta mucho usarlo en VB6, hice esto, es una forma sencilla de crear una consola de comandos tipo Cmd, pero 100 veces mejor, y ejecutar nuestros batch desde allí, dejo unos screen's:



Como verán luego, el código puede parecer largo, pero si se fijan mejor es por que lo he simplificado creando funciones para manejarlo de manera mas rápida sin complicarse mucho, por eso es un regalo Grin
Ya que la consumbre es manejarlo todo desde un Form, pues tambien vamos a manejar la consola desde un Form (Los que tengan mas experiencia pueden usar un Modulo he iniciar desde la Sub Main)

Como es un regalo esto es Copy y Paste: (No necesitamos ningún control)
Código:
Private Declare Function AllocConsole Lib "kernel32" () As Long
Private Declare Function FreeConsole Lib "kernel32" () As Long
Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function SetConsoleTitle Lib "kernel32" Alias "SetConsoleTitleA" (ByVal lpConsoleTitle As String) As Long
Private Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
Private Declare Function ReadConsole Lib "kernel32" Alias "ReadConsoleA" (ByVal hConsoleInput As Long, ByVal lpBuffer As String, ByVal nNumberOfCharsToRead As Long, lpNumberOfCharsRead As Long, lpReserved As Any) As Long
Private Declare Function SetConsoleTextAttribute Lib "kernel32" (ByVal hConsoleOutput As Long, ByVal wAttributes As Long) As Long

' Colores
Private Const BACKGROUND_BLUE = &H10
Private Const BACKGROUND_GREEN = &H20
Private Const BACKGROUND_RED = &H40
Private Const BACKGROUND_INTENSITY = &H80&
Private Const BACKGROUND_SEARCH = &H20& ' ----
Private Const FOREGROUND_INTENSITY = &H8&
Private Const FOREGROUND_SEARCH = (&H10&)
Private Const FOREGROUND_BLUE = &H1
Private Const FOREGROUND_GREEN = &H2
Private Const FOREGROUND_RED = &H4

Public Enum ColorTexto
   [_ColorMin] = 0&
   TextConBlack = 0&
   TextConBlue = FOREGROUND_BLUE
   TextConGreen = FOREGROUND_GREEN
   TextConCyan = FOREGROUND_BLUE Or FOREGROUND_GREEN
   TextConRed = FOREGROUND_RED
   TextConMagenta = FOREGROUND_RED Or FOREGROUND_BLUE
   TextConYellow = FOREGROUND_RED Or FOREGROUND_GREEN
   TextConWhite = FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_RED
   TextConBlackHi = FOREGROUND_INTENSITY
   TextConBluehi = FOREGROUND_BLUE Or FOREGROUND_INTENSITY
   TextConCyanHi = FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_INTENSITY
   TextConGreenHi = FOREGROUND_GREEN Or FOREGROUND_INTENSITY
   TextConRedHi = FOREGROUND_RED Or FOREGROUND_INTENSITY
   TextConMagentaHi = FOREGROUND_RED Or FOREGROUND_BLUE Or FOREGROUND_INTENSITY
   TextConYellowHi = FOREGROUND_RED Or FOREGROUND_GREEN Or FOREGROUND_INTENSITY
   TextConWhiteHi = FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_RED Or FOREGROUND_INTENSITY
   [_ColorMax] = FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_RED Or FOREGROUND_INTENSITY
End Enum

Public Enum ColorFondo
   [_ColorMin] = 0&
   FonConBlack = 0&
   FonConBlue = BACKGROUND_BLUE
   FonConGreen = BACKGROUND_GREEN
   FonConCyan = BACKGROUND_BLUE Or BACKGROUND_GREEN
   FonConRed = BACKGROUND_RED
   FonConMagenta = BACKGROUND_RED Or BACKGROUND_BLUE
   FonConYellow = BACKGROUND_RED Or BACKGROUND_GREEN
   FonConWhite = BACKGROUND_BLUE Or BACKGROUND_GREEN Or BACKGROUND_RED
   FonConBlackHi = BACKGROUND_INTENSITY
   FonConBlueHi = BACKGROUND_BLUE Or BACKGROUND_INTENSITY
   FonConCyanHi = BACKGROUND_BLUE Or BACKGROUND_GREEN Or BACKGROUND_INTENSITY
   FonConGreenHi = BACKGROUND_GREEN Or BACKGROUND_INTENSITY
   FonConRedHi = BACKGROUND_RED Or BACKGROUND_INTENSITY
   FonConMagentaHi = BACKGROUND_RED Or BACKGROUND_BLUE Or BACKGROUND_INTENSITY
   FonConYellowHi = BACKGROUND_RED Or BACKGROUND_GREEN Or BACKGROUND_INTENSITY
   FonConWhiteHi = BACKGROUND_BLUE Or BACKGROUND_GREEN Or BACKGROUND_RED Or BACKGROUND_INTENSITY
   [_ColorMax] = BACKGROUND_BLUE Or BACKGROUND_GREEN Or BACKGROUND_RED Or BACKGROUND_INTENSITY
End Enum

' Constantes para hacer FullScreen
Private Const CONSOLE_FULLSCREEN = 1
Private Const CONSOLE_FULLSCREEN_HARDWARE = 2

' Const para obtener el Handle
Private Const STD_OUTPUT_HANDLE = -11&
Private Const STD_INPUT_HANDLE = -10&

' Variables que contienen el handle de entrada y salida de datos
Dim StdOut As Long, StdIn As Long

Sub SubConsole()
    '#########################
    ' Aqui colocas tu Codigo
    '#########################
End Sub

Function Execute(Comando As String) As String
Dim FSO As Object
Set FSO = CreateObject("WSCript.Shell")
With FSO.Exec("Cmd.exe /c " & Comando)
    Execute = .StdOut.ReadAll
End With
End Function

Function Title(Titulo As String)
    SetConsoleTitle Titulo
End Function

Function SetRead() As String
Dim ZeroPos As Long
SetRead = String(255, 0)
ReadConsole StdIn, SetRead, Len(SetRead), vbNull, vbNull
ZeroPos = InStr(SetRead, Chr$(0))
If ZeroPos > 0 Then SetRead = Left$(SetRead, ZeroPos - 3)
End Function


Private Function Echo(Texto As String) As Long
Dim CWrite As Long
    Call WriteConsole(StdOut, ByVal Texto, Len(Texto), CWrite, ByVal 0&)
End Function

Private Function Color(Texto As ColorTexto, Fondo As ColorFondo)
    Call SetConsoleTextAttribute(StdOut, Texto Or Fondo)
End Function

Private Sub Form_Load()
Call AllocConsole                        ' Creamos la consola
StdOut = GetStdHandle(STD_OUTPUT_HANDLE) ' Handle de Salida
StdIn = GetStdHandle(STD_INPUT_HANDLE)   ' Handle de Entrada
Call SubConsole
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call FreeConsole ' Cerrar consola
Call CloseHandle(StdOut) ' Cerramos el Handle abierto...
Call CloseHandle(StdIn) 'IDEM anterior
End Sub
De todo esto lo único que nos interesa para manejar la consola es esta parte:
Citar
Sub SubConsole()
    '#########################
    ' Aqui colocas tu Codigo
    '#########################

End Sub
Simplemente borramos los comentarios Wink

  • Explicación Breve de como escribir, leer, cambiar el titulo y color de la consola.
   Como ya dije, solo nos interesa el Sub SubConsole, todo el código que escribamos tiene que ir allí dentro Wink, para hacer funcionar la consola disponemos de 5 funciones sencillas, Echo que sirve para escribir en la consola, SetRead que sirve para leer datos de la consola (Tipo Set /p en batch), Color que sirve para cambiar el color de Texto y Fondo usado por el texto, y Execute que es una funcion extra para ejecutar comandos MS-DOS desde nuestra consola, como ser Ping.

Nota:Para parar el Proyecto hacer click en la X del formulario, ya que este en el evento Form_Unload cierra la consola, si no se cierra entonces continua abierta, y esto genera algunos problemas.

  • Echo - Escribir en la consola
   Vuelvo a repetir por si las moscas, todo el code es dentro del Sub SubConsole:
Código:
Sub SubConsole()
    '################BY 3D1#################
    ' [Hacking And Security] Or Programming
    '#######################################
    Echo "Primeros pasos en la consola" & vbNewLine
    Echo "Probando..."
    Echo "Sin salto de linea"
End Sub
creo que esto se entiende, la funcion se llama Echo para mas facilidad y no tener que aprender otros nombres, mientras mas parecido a Batch mas sencillo de entender. Wink

  • Title - Titulo de la consola
   Esto no hace falta de explicar, para los perdidos [Cambia el titulo a la consola]
Código:
Sub SubConsole()
    '################BY 3D1#################
    ' [Hacking And Security] Or Programming
    '#######################################
    Title "Mi Primer consola en VB6"
End Sub

  • Color - Cambia el color de texto y el fondo usado por el mismo, en la consola
   Esta función es especial, tiene dos parámetros, el primero es el color de texto y el segundo es el color de fondo usando por el mismo texto, no hice ninguna función para cambiar el color de fondo de la consola, eso se vera en un futuro manual Wink
Código:
Sub SubConsole()
    '################BY 3D1#################
    ' [Hacking And Security] Or Programming
    '#######################################
    Color TextConBlue, FonConYellowHi
    Echo "Este texto es de color Azul con fondo AmarilloBlillante" & vbNewLine
    Color TextConGreenHi, FonConBlue
    Echo "Este texto es de color VerdeBrillante con fondo Azul"
End Sub
Esto creo que esta claro, si hay dudas solo preguntar, las constantes que terminen con Hi son los colores brillantes Wink

  • SetRead - Pedimos que se introduzcan datos en la consola
   Antes de usar la función, ¿por que hice la función existiendo Set /p en batch?, sencillamente por que, comandos como Edlin o Set /p u otro que pida datos no funciona, se queda esperando a que nosotros le demos los datos, asi que por esa razon esta esta función, los comandos que solo muestran texto no representan ningún problema.
Vamos al ejemplo:
Código:
Sub SubConsole()
    '################BY 3D1#################
    ' [Hacking And Security] Or Programming
    '#######################################
    Echo "Escribe tu nombre: "
    MsgBox "Tu nombre es: " & SetRead
End Sub
Todo es sencillo por mas largo que se vea Wink

  • Execute - Ejecuta comandos MS-DOS y retorna los resultados
   También esta función es Extra como hay una "incompatibilidad" con la función Shell de VB6 los comandos tardan en mostrar los resultados así que no era posible usar correctamente la función Color y Echo, esta función funciona junto con echo simplemente precisa de un parámetro y es el comando que va ha ejecutar, ej:
Código:
Sub SubConsole()
    '################BY 3D1#################
    ' [Hacking And Security] Or Programming
    '#######################################
    Echo Execute("Ping -n 1 www.google.com")
End Sub

  • Finalizando un ejemplo usando todas las funciones - [El Ej del Screen]
   Colocare el código usando en el SubConsole del Screen que coloque como veran es sencillo.
Código:
Sub SubConsole()
Title "Mi Consola de comandos By 3D1"
Color TextConBluehi, FonConGreenHi
Echo "MI CONSOLA DE COMANDOS" & String(58, Chr(32)) & vbNewLine
Color TextConWhite, FonConBlack
Echo "Ejecutando un comando MS-DOS en mi consola..:" & vbNewLine
Color TextConRedHi, FonConBlack
Echo Execute("Ping -n 1 www.google.com") & vbNewLine
Color TextConBluehi, FonConBlackHi
Echo "Escribe tu Nick:"
Color TextConWhite, FonConBlack
MsgBox SetRead

Call Form_Unload(False)
End
End Sub

  • (Extra - Trucos usando la función Execute)
   Esto esta demás si quieren no lo lean XD:
      CLS o Clear
         Pues el CLS no funciona en Aqui para borrar la pantalla usamos el comando Mode
Código:
Call Execute("Mode con cols=0 lines=0")
Luego coloco mas, ahora ya estoy cansado Grin, espero les guste, es un regalo de mi parte por fin de año a la seccion. Wink

SaluDOS!!!
« Última modificación: 14 de Enero de 2010, 03:01:25 por 3D1 » En línea




Devuelta Online, ahora: Code-Makers.net!!!, Entra y se parte...
alexmanycool
Moderador
*****
Desconectado Desconectado

Mensajes: 1,927


intentaron copiar a ronald pero salió idiota


Ver Perfil WWW
« Respuesta #1 : 29 de Diciembre de 2009, 03:30:37 »

muy bueno, yo quisiera hacerle un regalo a vb Sad

voy a hacer una carta Tongue

muy bueno 3D1!!!!!!!!!!!

salu2
En línea

bueno vos y todos los administradores se pueden ir bien a la puta que los remil pario hijos demil puta!!se hacen los inocentes y son los mas hijos de puta qe hay!!
RGB SE LLAMA RAMIRO!!
3D1
Moderador
*****
Desconectado Desconectado

Mensajes: 1,859


El primer programador es DIOS (El SoftWare mas complejo el Hombre)!!! -> No preguntes por MP si no usaste Google primero.


Ver Perfil WWW
« Respuesta #2 : 29 de Diciembre de 2009, 03:57:08 »

Grin

Todavía tienes 2 días XD..
Espero les guste, próximamente un manual completo aquí esta todo lo básico, pero como ven no es nada difícil, y no se usa nada del otro mundo. Wink

SaluDOS!!!
En línea




Devuelta Online, ahora: Code-Makers.net!!!, Entra y se parte...
alexmanycool
Moderador
*****
Desconectado Desconectado

Mensajes: 1,927


intentaron copiar a ronald pero salió idiota


Ver Perfil WWW
« Respuesta #3 : 29 de Diciembre de 2009, 04:36:33 »

Grin

Todavía tienes 2 días XD..
Espero les guste, próximamente un manual completo aquí esta todo lo básico, pero como ven no es nada difícil, y no se usa nada del otro mundo. Wink

SaluDOS!!!

jajaja si, te envio un mp con una explicaciones de algo.

salu2
En línea

bueno vos y todos los administradores se pueden ir bien a la puta que los remil pario hijos demil puta!!se hacen los inocentes y son los mas hijos de puta qe hay!!
RGB SE LLAMA RAMIRO!!
DarkProgrammer
Yo vivo en CPH
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 529


Fenix User


Ver Perfil
« Respuesta #4 : 29 de Diciembre de 2009, 05:10:10 »

Muy Buena idea , Lo pruebo y comento =)
En línea


Te espero adentro

Aca les dejo el link del Jdowloader en su mejor vercion:
http://rapidshare.com/files/357279506/JDownloader_0.6.111.zip
Drinky94
Si te metes con CPH
te metes conmigo
****
Desconectado Desconectado

Mensajes: 1,186

www.mundo-hacker.net


Ver Perfil WWW
« Respuesta #5 : 30 de Diciembre de 2009, 12:02:29 »

:O muy bueno 3D1 Wink

salu2!
En línea

mr.blood
e-Zine Writer
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 708


Buscando el saber. Porque el saber, es PODER.


Ver Perfil WWW
« Respuesta #6 : 30 de Diciembre de 2009, 04:15:41 »

Muy bueno 3D1, haber si yo publico algun code Smiley

Sa1uDoS
En línea

3D1
Moderador
*****
Desconectado Desconectado

Mensajes: 1,859


El primer programador es DIOS (El SoftWare mas complejo el Hombre)!!! -> No preguntes por MP si no usaste Google primero.


Ver Perfil WWW
« Respuesta #7 : 06 de Enero de 2010, 06:12:54 »

Bien ya paso fin de año Cry
Voy a dejar el post pegado para poder terminarlo completamente, luego sera agregado a las FAQ's y lo despego Wink

SaluDOS!!!
En línea




Devuelta Online, ahora: Code-Makers.net!!!, Entra y se parte...
alexmanycool
Moderador
*****
Desconectado Desconectado

Mensajes: 1,927


intentaron copiar a ronald pero salió idiota


Ver Perfil WWW
« Respuesta #8 : 08 de Enero de 2010, 08:21:11 »

okas, no problem Tongue

salu2
En línea

bueno vos y todos los administradores se pueden ir bien a la puta que los remil pario hijos demil puta!!se hacen los inocentes y son los mas hijos de puta qe hay!!
RGB SE LLAMA RAMIRO!!
ψζανιεπψ
JaAViEr - Javier G. - ψζανιεπψ
e-Zine Writer
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 3,894


❶❷❸❹❺❻❼❽


Ver Perfil WWW
« Respuesta #9 : 03 de Febrero de 2010, 01:23:05 »

Shocked No lo habia visto enterooo solo los MP

Saludos
En línea



Código
#include <iostream>
using namespace std;
char nick;
cout << "Ingresa tu nick : ";
cin >> nick;
cout << "Welcome : " << nick <<edln;
alexmanycool
Moderador
*****
Desconectado Desconectado

Mensajes: 1,927


intentaron copiar a ronald pero salió idiota


Ver Perfil WWW
« Respuesta #10 : 03 de Febrero de 2010, 09:07:16 »

Shocked No lo habia visto enterooo solo los MP

Saludos

los mp???

WTF!?

salu2
En línea

bueno vos y todos los administradores se pueden ir bien a la puta que los remil pario hijos demil puta!!se hacen los inocentes y son los mas hijos de puta qe hay!!
RGB SE LLAMA RAMIRO!!
3D1
Moderador
*****
Desconectado Desconectado

Mensajes: 1,859


El primer programador es DIOS (El SoftWare mas complejo el Hombre)!!! -> No preguntes por MP si no usaste Google primero.


Ver Perfil WWW
« Respuesta #11 : 17 de Marzo de 2010, 06:07:12 »

No puedo continuar con este asi que lo despego, no tengo tiempo para hacerlo, decidi dejar algo, y encontre el modulo de Karl E. Perterson..
http://foro.portalhacker.net/index.php/topic,106934.0.html

Espero les guste Wink
Ademas de usarlo seria bueno que aprendan como funciona.

SaluDOS!!!
En línea




Devuelta Online, ahora: Code-Makers.net!!!, Entra y se parte...
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC hacker descargas gratis
Ranking-Hits