Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LeandroA

#561
hola te paso un modulo para hacerlo con un pictureBox (no con el control image)



Option Explicit
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Const RGN_OR As Long = 2&

Private Declare Sub OleTranslateColor Lib "oleaut32.dll" ( _
     ByVal clr As Long, _
     ByVal hpal As Long, _
     ByRef lpcolorref As Long)

Private Type BITMAPINFOHEADER
    biSize As Long
    biWidth As Long
    biHeight As Long
    biPlanes As Integer
    biBitCount As Integer
    biCompression As Long
    biSizeImage As Long
    biXPelsPerMeter As Long
    biYPelsPerMeter As Long
    biClrUsed As Long
    biClrImportant As Long
End Type

Private Type RGBQUAD
    rgbBlue As Byte
    rgbGreen As Byte
    rgbRed As Byte
    rgbReserved As Byte
End Type

Private Type BITMAPINFO
    bmiHeader As BITMAPINFOHEADER
    bmiColors As RGBQUAD
End Type

Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Declare Function CreateDIBSection Lib "gdi32" (ByVal hDC As Long, pBitmapInfo As BITMAPINFO, ByVal un As Long, ByVal lplpVoid As Long, ByVal handle As Long, ByVal dw As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long

Private Const BI_RGB As Long = 0&
Private Const DIB_RGB_COLORS As Long = 0&


Public Function MakeFormTransparent(Obj As Object, ByVal lngTransColor As Long)
    Dim hRegion As Long

        hRegion = RegionFromBitmap(Obj, lngTransColor)
        SetWindowRgn Obj.hWnd, hRegion, True
        DeleteObject hRegion

End Function

Private Function RegionFromBitmap(picSource As Object, ByVal lngTransColor As Long) As Long
    Dim lngRetr As Long, lngHeight As Long, lngWidth As Long
    Dim lngRgnFinal As Long, lngRgnTmp As Long
    Dim lngStart As Long
    Dim x As Long, y As Long
    Dim hDC As Long
   
    Dim bi24BitInfo As BITMAPINFO
    Dim iBitmap As Long
    Dim BWidth As Long
    Dim BHeight As Long
    Dim iDC As Long
    Dim PicBits() As Byte
    Dim Col As Long
    Dim OldScaleMode As ScaleModeConstants
   
    OldScaleMode = picSource.ScaleMode
    picSource.ScaleMode = vbPixels
   
    hDC = picSource.hDC
    lngWidth = picSource.ScaleWidth '- 1
    lngHeight = picSource.ScaleHeight - 1

    BWidth = (picSource.ScaleWidth \ 4) * 4 + 4
    BHeight = picSource.ScaleHeight

    'Bitmap-Header
    With bi24BitInfo.bmiHeader
        .biBitCount = 24
        .biCompression = BI_RGB
        .biPlanes = 1
        .biSize = Len(bi24BitInfo.bmiHeader)
        .biWidth = BWidth
        .biHeight = BHeight + 1
    End With
    'ByteArrays in der erforderlichen Größe anlegen
    ReDim PicBits(0 To bi24BitInfo.bmiHeader.biWidth * 3 - 1, 0 To bi24BitInfo.bmiHeader.biHeight - 1)
   
    iDC = CreateCompatibleDC(hDC)
    'Gerätekontextunabhängige Bitmap (DIB) erzeugen
    iBitmap = CreateDIBSection(iDC, bi24BitInfo, DIB_RGB_COLORS, ByVal 0&, ByVal 0&, ByVal 0&)
    'iBitmap in den neuen DIB-DC wählen
    Call SelectObject(iDC, iBitmap)
    'hDC des Quell-Fensters in den hDC der DIB kopieren
    Call BitBlt(iDC, 0, 0, bi24BitInfo.bmiHeader.biWidth, bi24BitInfo.bmiHeader.biHeight, hDC, 0, 0, vbSrcCopy)
    'Gerätekontextunabhängige Bitmap in ByteArrays kopieren
    Call GetDIBits(hDC, iBitmap, 0, bi24BitInfo.bmiHeader.biHeight, PicBits(0, 0), bi24BitInfo, DIB_RGB_COLORS)
   
    'Wir brauchen nur den Array, also können wir die Bitmap direkt wieder löschen.
   
    'DIB-DC
    Call DeleteDC(iDC)
    'Bitmap
    Call DeleteObject(iBitmap)

    lngRgnFinal = CreateRectRgn(0, 0, 0, 0)
    For y = 0 To lngHeight
        x = 0
        Do While x < lngWidth
            Do While x < lngWidth And _
                RGB(PicBits(x * 3 + 2, lngHeight - y + 1), _
                    PicBits(x * 3 + 1, lngHeight - y + 1), _
                    PicBits(x * 3, lngHeight - y + 1) _
                    ) = lngTransColor
               
                x = x + 1
            Loop
            If x <= lngWidth Then
                lngStart = x
                Do While x < lngWidth And _
                    RGB(PicBits(x * 3 + 2, lngHeight - y + 1), _
                        PicBits(x * 3 + 1, lngHeight - y + 1), _
                        PicBits(x * 3, lngHeight - y + 1) _
                        ) <> lngTransColor
                    x = x + 1
                Loop
                If x + 1 > lngWidth Then x = lngWidth
                lngRgnTmp = CreateRectRgn(lngStart, y, x, y + 1)
                lngRetr = CombineRgn(lngRgnFinal, lngRgnFinal, lngRgnTmp, RGN_OR)
                DeleteObject lngRgnTmp
            End If
        Loop
    Next

    picSource.ScaleMode = OldScaleMode
    RegionFromBitmap = lngRgnFinal
End Function


y en el formulario agregas un picture1 con esta imagen



Private Sub Form_Load()
Picture1.AutoRedraw = True

MakeFormTransparent Picture1, vbMagenta
End Sub


Saludos
#562
si porsupuesto se puede

Pd: skl fuira.. :D

#563
Programación Visual Basic / Re: Tengo una duda?
19 Noviembre 2007, 19:36 PM
estas seguro que el winsock (ws) es una matriz,

fijate en su propiedad "Index" si tiene algun valor si no lo tinene ponele 0

saludos

PD: si no explica un poco mejor, aver que puede ser.

#564
Buenas, este es un proyecto que sirve para colgar notitas recordatorias. Está hecho en base a los proyectos anteriores.





http://www.recursosvisualbasic.com.ar/ftp/leandro/sticky.zip

Cualquier duda, comentarios o sugerencias escriban.
#565
muy buena pagina

Saludos
#566
Muchas Gracias, por si alguno les dio problemas para descargarlo de geocites aca pongo otro link

http://www.recursosvisualbasic.com.ar/ftp/leandro/MultiDeskTop.zip


Saludos
#567
Exelente Trabajo muy bueno el aporte

Saludos y segui asi

#568
Buenas este proyecto es una utilidad para crear múltiples escritorios, tiene para 4 escritorios, básicamente lo que hace es ocultar las ventanas del escritorio actual e ir creando un nuevo escritorio el cual al cambiar oculta todas las ventanas abiertas y visualizará las que fueron ocultadas anteriormente. En fin probar para entender lo que no se explicar ;D





la imagen de arriba muestra como esta aplicacion agrega cuatro items al menu del sistema, los cuales permiten la posibilidad de transferir o compartir esta ventana en los distintos escritorios.
esto se lo debo a nuestro amigo Cobein el cual pudo crear la clase para hacer el hook a las ventanas activas   http://www.argentinavb.com.ar/foro/index.php?topic=32.0

El link de descarga

http://es.geocities.com/leandroascierto/MultiDeskTop.zip

#569
Hola estuve viendo algo del tema por lo que vi el comando que envia es Rest aun no veo bien como trabaja pero si saves algo de protocolo ftp creo que envia el comando
Rest + el numero de byte en donde deve comenzar la transferencia
este es el log del server

Nov 12 00:26:25  10  Incoming connection request on interface 190.136.201.230
Nov 12 00:26:25  10  Connection request accepted from 190.136.201.230
Nov 12 00:26:25  11  Incoming connection request on interface 190.136.201.230
Nov 12 00:26:25  11  Connection request accepted from 190.136.201.230
Nov 12 00:26:25  12  Incoming connection request on interface 190.136.201.230
Nov 12 00:26:25  12  Connection request accepted from 190.136.201.230
Nov 12 00:26:25  10  USER leo
Nov 12 00:26:25  10  331 User leo, password please 
Nov 12 00:26:25  11  USER leo
Nov 12 00:26:25  11  331 User leo, password please 
Nov 12 00:26:25  12  USER leo
Nov 12 00:26:25  12  331 User leo, password please 
Nov 12 00:26:25  10  PASS ***********
Nov 12 00:26:25  10  230 Password Ok, User logged in 
Nov 12 00:26:25  11  PASS ***********
Nov 12 00:26:25  11  230 Password Ok, User logged in 
Nov 12 00:26:25  12  PASS ***********
Nov 12 00:26:25  12  230 Password Ok, User logged in 
Nov 12 00:26:25  10  SYST
Nov 12 00:26:25  10  215 UNIX Type: L8 
Nov 12 00:26:25  11  SYST
Nov 12 00:26:25  11  215 UNIX Type: L8 
Nov 12 00:26:25  12  SYST
Nov 12 00:26:25  12  215 UNIX Type: L8 
Nov 12 00:26:25  10  FEAT
Nov 12 00:26:25  10  211- Additional features supported include:   MDTM   SIZE   REST STREAM   AUTH TLS   AUTH SSL   PBSZ   PROT   LANG EN*   SITE CHMOD   SITE PSWD  211 End 
Nov 12 00:26:25  11  FEAT
Nov 12 00:26:25  11  211- Additional features supported include:   MDTM   SIZE   REST STREAM   AUTH TLS   AUTH SSL   PBSZ   PROT   LANG EN*   SITE CHMOD   SITE PSWD  211 End 
Nov 12 00:26:25  12  FEAT
Nov 12 00:26:25  12  211- Additional features supported include:   MDTM   SIZE   REST STREAM   AUTH TLS   AUTH SSL   PBSZ   PROT   LANG EN*   SITE CHMOD   SITE PSWD  211 End 
Nov 12 00:26:25  10  PWD
Nov 12 00:26:25  10  257 "/" is the current directory 
Nov 12 00:26:25  11  PWD
Nov 12 00:26:25  11  257 "/" is the current directory 
Nov 12 00:26:25  12  PWD
Nov 12 00:26:25  12  257 "/" is the current directory 
Nov 12 00:26:25  10  PORT 190,136,201,230,19,195
Nov 12 00:26:25  10  200 Port command received 
Nov 12 00:26:25  11  PORT 190,136,201,230,19,196
Nov 12 00:26:25  11  200 Port command received 
Nov 12 00:26:25  12  PORT 190,136,201,230,19,197
Nov 12 00:26:25  12  200 Port command received 
Nov 12 00:26:25  10  LIST
Nov 12 00:26:25  11  LIST
Nov 12 00:26:25  12  LIST
Nov 12 00:26:25  10  150 Opening data connection 
Nov 12 00:26:25  10  226 Transfer complete 
Nov 12 00:26:25  10  CWD /D/Mis documentos/Mi música/Depeche Mode/101 Disc 1
Nov 12 00:26:26  10  250 Change directory ok 
Nov 12 00:26:26  11  150 Opening data connection 
Nov 12 00:26:26  11  226 Transfer complete 
Nov 12 00:26:26  11  CWD /D/Mis documentos/Mi música/Depeche Mode/101 Disc 1
Nov 12 00:26:26  11  250 Change directory ok 
Nov 12 00:26:26  12  150 Opening data connection 
Nov 12 00:26:26  10  PWD
Nov 12 00:26:26  10  257 "/D/Mis documentos/Mi música/Depeche Mode/101 Disc 1" is the current directory 
Nov 12 00:26:26  11  PWD
Nov 12 00:26:26  11  257 "/D/Mis documentos/Mi música/Depeche Mode/101 Disc 1" is the current directory 
Nov 12 00:26:26  12  226 Transfer complete 
Nov 12 00:26:26  10  PORT 190,136,201,230,19,198
Nov 12 00:26:26  10  200 Port command received 
Nov 12 00:26:26  10  LIST
Nov 12 00:26:26  10  150 Opening data connection 
Nov 12 00:26:26  10  226 Transfer complete 
Nov 12 00:26:26  11  PORT 190,136,201,230,19,199
Nov 12 00:26:26  11  200 Port command received 
Nov 12 00:26:26  12  CWD /D/Mis documentos/Mi música/Depeche Mode/101 Disc 1
Nov 12 00:26:26  12  250 Change directory ok 
Nov 12 00:26:26  11  LIST
Nov 12 00:26:26  12  PWD
Nov 12 00:26:26  12  257 "/D/Mis documentos/Mi música/Depeche Mode/101 Disc 1" is the current directory 
Nov 12 00:26:26  10  TYPE I
Nov 12 00:26:26  10  200 Type Binary 
Nov 12 00:26:26  11  150 Opening data connection 
Nov 12 00:26:26  11  226 Transfer complete 
Nov 12 00:26:26  12  PORT 190,136,201,230,19,200
Nov 12 00:26:26  12  200 Port command received 
Nov 12 00:26:26  10  PORT 190,136,201,230,19,201
Nov 12 00:26:26  10  200 Port command received 
Nov 12 00:26:26  12  LIST
Nov 12 00:26:26  10  RETR 01 Pimpf.mp3
Nov 12 00:26:26  11  TYPE I
Nov 12 00:26:26  11  200 Type Binary 
Nov 12 00:26:26  12  150 Opening data connection 
Nov 12 00:26:26  12  226 Transfer complete 
Nov 12 00:26:26  10  150 Opening data connection 
Nov 12 00:26:26  11  PORT 190,136,201,230,19,202
Nov 12 00:26:26  11  200 Port command received 
Nov 12 00:26:26  11  REST 463025
Nov 12 00:26:26  11  350 Restarting at byte offset 463025. Send STOR or RETR to initiate transfer 
Nov 12 00:26:26  11  RETR 01 Pimpf.mp3
Nov 12 00:26:26  11  150 Opening data connection 
Nov 12 00:26:26  12  TYPE I
Nov 12 00:26:26  12  200 Type Binary 
Nov 12 00:26:26  12  PORT 190,136,201,230,19,203
Nov 12 00:26:26  12  200 Port command received 
Nov 12 00:26:26  12  REST 231513
Nov 12 00:26:26  12  350 Restarting at byte offset 231513. Send STOR or RETR to initiate transfer 
Nov 12 00:26:26  12  RETR 01 Pimpf.mp3
Nov 12 00:26:26  12  150 Opening data connection 
Nov 12 00:26:26  10  Se ha proporcionado un argumento no válido. 
Nov 12 00:26:26  10  550 File transfer failed 
Nov 12 00:26:26  10  TYPE I
Nov 12 00:26:26  12  Se ha proporcionado un argumento no válido. 
Nov 12 00:26:26  10  200 Type Binary 
Nov 12 00:26:26  10  PORT 190,136,201,230,19,204
Nov 12 00:26:26  10  200 Port command received 
Nov 12 00:26:26  10  REST 809226
Nov 12 00:26:26  10  350 Restarting at byte offset 809226. Send STOR or RETR to initiate transfer 
Nov 12 00:26:26  10  RETR 01 Pimpf.mp3
Nov 12 00:26:26  12  550 File transfer failed 
Nov 12 00:26:26  12  TYPE I
Nov 12 00:26:26  12  200 Type Binary 
Nov 12 00:26:26  10  150 Opening data connection 
Nov 12 00:26:26  12  PORT 190,136,201,230,19,205
Nov 12 00:26:26  12  200 Port command received 
Nov 12 00:26:26  12  REST 752862
Nov 12 00:26:26  12  350 Restarting at byte offset 752862. Send STOR or RETR to initiate transfer 
Nov 12 00:26:26  12  RETR 01 Pimpf.mp3
Nov 12 00:26:26  12  150 Opening data connection 
Nov 12 00:26:26  11  Se ha proporcionado un argumento no válido. 
Nov 12 00:26:26  12  Se ha proporcionado un argumento no válido. 
Nov 12 00:26:26  12  550 File transfer failed 
Nov 12 00:26:26  11  550 File transfer failed 
Nov 12 00:26:26  10  Se ha proporcionado un argumento no válido. 
Nov 12 00:26:26  12  The connection was closed by the remote socket
Nov 12 00:26:26  11  The connection was closed by the remote socket
Nov 12 00:26:26  10  550 File transfer failed 
Nov 12 00:26:26  10  The connection was closed by the remote socket
Nov 12 00:26:26  12  Connection terminated.
Nov 12 00:26:26  11  Connection terminated.
Nov 12 00:26:26  10  Connection terminated.
Nov 12 00:26:26  9  PORT 190,136,201,230,19,206
Nov 12 00:26:26  9  200 Port command received 
Nov 12 00:26:26  9  LIST
Nov 12 00:26:26  9  150 Opening data connection 
Nov 12 00:26:26  9  226 Transfer complete 


lo que supuestamente Debes hacer es crear tres conexiones con winsok y enviar los comandos a como se indican en la secuencia, en fin es un royo algo extenso pero si investigas lo puedes hacer , si tengo algo de tiempo voy a ver si puedo hacer algo

Saludos
#570
hola no estoy muy seguro que esto acelere la velocidad, pero bueno quien sabe, conoses de algun programa comercial que haga esto? porque creo que no se pude.

Saludos