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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / [DUDA]Crear ejecutables mas pequeños en Dev-c++ en: 24 Agosto 2010, 21:50 pm
Hola, les vengo a plantear una pequeña duda que tengo:

Acabo de empezar a programar en el lenguaje "C" y he utilizado Dev-C++ y me ha ido muy bien. Pero me he dado cuenta de que los ejecutables por más pequeño se haga un Code, los ejecutables siempre pesan entre 16-15 KB y quisiera saber si hay alguna forma de bajar ese peso? ya que según tengo entendido, se pueden dejar ejecutables hasta de 2 KB.

Recuerdo que había visto un video tutorial en donde dejaban un ejecutable de Dev-C++ a 5 KB y creo que hasta logre hacerlo, pero perdí el tutorial y ya no me recuerdo como se hace.
2  Programación / Programación Visual Basic / mIP (pequeño modulo para ver el IP publico) en: 7 Marzo 2010, 02:10 am
Bueno pues hice este pequeño modulo para comprobar la IP publica desde el VB conectándose a la web de: ip-adress.com y descargando el código de fuente. No es ninguna ciencia pero a mas de alguien le sirve.

Código
  1.  
  2. Option Explicit
  3.  
  4. '--------------------------------------------
  5. '   Autor   : SquX
  6. '   Nombre  : mIP
  7. '   Funcion : Optener el IP publico
  8. '--------------------------------------------
  9.  
  10. Private Const INTERNET_OPEN_TYPE_DIRECT             As Integer = 1
  11. Private Const INTERNET_OPEN_TYPE_PROXY              As Integer = 3
  12. Private Const INTERNET_FLAG_RELOAD                  As Long = &H80000000
  13. Private Const INTERNET_FLAG_NO_CACHE_WRITE          As Long = &H4000000
  14.  
  15. Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
  16. Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
  17. Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
  18. Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
  19.  
  20. Public Function sIP() As String
  21.  
  22.    sIP = Dividir(Code("http://www.ip-adress.com"), "<h2>My IP address is: ", "</h2>")
  23.  
  24. End Function
  25.  
  26. Public Function Code(sURL As String) As String ' // Basado en ejemplo en recursosvisualbasic.com.ar
  27.  
  28.    Dim sBuff   As String * 100
  29.    Dim sOpen   As Long
  30.    Dim sFile   As Long
  31.    Dim sRet    As Long
  32.  
  33.    sOpen = InternetOpen("SquX", INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
  34.  
  35.    If sOpen <> 0 Then
  36.  
  37.        sFile = InternetOpenUrl(sOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
  38.  
  39.        If sFile <> 0 Then
  40.  
  41.            Do
  42.  
  43.                Call InternetReadFile(sFile, sBuff, 100, sRet)
  44.  
  45.                Code = Code & Mid$(sBuff, 1, sRet)
  46.  
  47.                If sRet = 0 Then
  48.  
  49.                    Exit Do
  50.  
  51.                End If
  52.  
  53.            Loop
  54.  
  55.            Call InternetCloseHandle(sFile)
  56.            Call InternetCloseHandle(sOpen)
  57.  
  58.        End If
  59.  
  60.    End If
  61.  
  62. End Function
  63.  
  64. Public Function Dividir(Texto As String, Delimitador1 As String, Delimitador2 As String) As String
  65.  
  66.    Dim sData() As String
  67.  
  68.    sData() = Split(Texto, Delimitador1)
  69.    sData() = Split(sData(1), Delimitador2)
  70.  
  71.    Dividir = sData(0)
  72.  
  73. End Function
  74.  
  75.  

Uso:

Código
  1.  
  2. Option Explicit
  3.  
  4. Private Const MB_ICONINFORMATION            As Long = &H40&
  5.  
  6. Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
  7.  
  8. Private Sub Form_Load()
  9.  
  10.    Call MessageBox(Me.hwnd, "Mi ip es: " & sIP, "IP", MB_ICONINFORMATION)
  11.  
  12. End Sub
  13.  
  14.  

Espero criticas :)
3  Programación / Programación Visual Basic / Re: [Pequeña Duda] Que es mejor: Usar APIS o las funciones de VB en: 2 Marzo 2010, 21:49 pm
Para velocidad? Muy sencillo... usar APIs en *.TLBs...

A ver... tu cuando llamas a MsgBox lo unico que hace VB es "jugar" un poquito y acabar llamando al API MessageBox()
Por que te digo que uses un *.TLB para declarar las APIs? Pues porque cuando no declaras el API en un .TLB y lo haces directamente en el codigo, cuando tu llamas a esa API lo que hace VB es llamar a LoadLibrary() y GetProcAddress() por lo tanto mas lento...

Si te gusta la velocidad y VB podrias aprender a usar ASM inline >:D Y si no te gusta el ASM pero te gusta la velocidad y VB mirate esta web:
Código:
http://xbeat.net/vbspeed/
:D

PD: Bienvenido al foro ;)

Muchisimas gracias Karcrack ;)

Ya me quedo mas claro el tema, solo me voy a colocar a investigar un poco lo de los .TLB que no lo sabia :/

PD: Gracias por la bienvenida :D y también por la web que me enviaste
4  Programación / Programación Visual Basic / [Pequeña Duda] Que es mejor: Usar APIS o las funciones de VB en: 2 Marzo 2010, 21:30 pm
Hola.

Tengo una duda acerca de que si es mejor usar Apis o usar funciones de VB en los codigos para mayor velocidad etc.

Ejemplo: E visto que algunos codigos usan el api MessageBox en lugar de usar la función de VB que es msgbox o en otros que en funciones como copiar usan el API CopyFile en lugar de usar el filecopy de VB.

Espero que me respondan.

Adios
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines