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 - BlackZeroX

#1681
.
Si es una dll Externa al ejecutable deberas usar

Código (vb) [Seleccionar]


Private Declare Function FreeLibrary Lib "KERNEL32" (ByVal hLib As Long) As Long 'BOOL
Private Declare Function LoadLibrary Lib "KERNEL32" Alias "LoadLibraryA" (ByVal strFilePath As String) As Long



Código (Vb) [Seleccionar]


Private Declare Function FindResource Lib "KERNEL32" Alias "FindResourceA" (ByVal hLib As Long, ByVal strName As String, ByVal strType As String) As Long
Private Declare Function FreeLibrary Lib "KERNEL32" (ByVal hLib As Long) As Long
Private Declare Function LoadResource Lib "KERNEL32" (ByVal hLib As Long, ByVal hRes As Long) As Long ' // handle of Resource
Private Declare Function LockResource Lib "KERNEL32" (ByVal hRes As Long) As Long ' // Get Pointer Of Resource
...
...



ligas de interes:
* http://www.recursosvisualbasic.com.ar/htm/listado-api/160-obtener-recurso-avi-de-archivo.htm
* http://wap.andreavb.com/forum/viewtopic_5214.html

Para reproducir un Gif nesesitaras cargar los "Fotogramas con un intevalo X de tiempo".
* http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/59.htm

Temibles Lunas!¡.
.
#1682
Programación Visual Basic / [Navidad] Feliz Navidad
25 Diciembre 2010, 06:06 AM
.
Que pasen una velada agradable  :rolleyes:

Temibles Noches!¡.
.
#1683
.
Ya viste tu error?

Código (Vb,9,10) [Seleccionar]


' // Aprende a declarar variables hasta arriba
Dim pfd As String
Dim license As String
Dim Destination As String

' // Aprende a realizar el codigo devajo de las mimas sin mezclarlas...
pfd = Environ("ProgramFiles")
license = (App.Path & "\serialdsl\license.txt")
Destination = (pfd & "\DSL Speed\DSL Speed V4.4\license.txt") ' // faltaba el nombre destinatario...
filesystem.FileCopy license, Destination



Temibles Lunas.
#1685
.
Prueba a crear los directorios si no existen, no hay mejor solucion que esta... mkdir = hay una api...

Código (vb) [Seleccionar]


Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long 



Dulces Lunas!¡.
#1686
.
Obviando varias cosas... espero que sea así.

Código (vbnet) [Seleccionar]

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    If Not saved Then
        e.Cancel = MessageBox.Show("Seguro que quiere salir sin guardar?", Caption, MessageBoxButtons.YesNo) = System.Windows.Forms.DialogResult.Yes
    End If
end sub


Dulces Lunas!¡.
.
#1687
Programación Visual Basic / Re: API SetCursor
23 Diciembre 2010, 21:36 PM
.
@DarkMatrix

si es para el juego de YuGioh que traes mejor resignate a pasarlo a un motor grafico como DirectX u OpenGL asi no tendras que gastar el procesador en vano.

Funcion Wait (No consume procesador)

Tome el ejemplo de la API Guide, saque todas las variable por que no queria estar revisando cuales eran las que se requerian asi que aqui tienes, no se come el proesador, y no para el hilo de tu programa.

Código (Vb) [Seleccionar]

'
'   /////////////////////////////////////////////////////////////
'   // Autor:   BlackZeroX ( Ortega Avila Miguel Angel )       //
'   //                                                         //
'   // Web:     http://InfrAngeluX.Sytes.Net/                  //
'   //                                                         //
'   //    |-> Pueden Distribuir Este codigo siempre y cuando   //
'   // no se eliminen los creditos originales de este codigo   //
'   // No importando que sea modificado/editado o engrandecido //
'   // o achicado, si es en base a este codigo                 //
'   /////////////////////////////////////////////////////////////
'   // http://infrangelux.sytes.net/Blog/index.php?option=com_content&view=article&id=6:artwait&catid=2:catprocmanager&Itemid=8
'   /////////////////////////////////////////////////////////////
Option Explicit
Private Declare Function WaitMessage Lib "user32" () As Long
Enum eTime
    Horas = 3600
    Minutos = 60
    Segundos = 1
End Enum

Private Declare Function CreateCursor Lib "user32" (ByVal hInstance As Long, ByVal nXhotspot As Long, ByVal nYhotspot As Long, ByVal nWidth As Long, ByVal nHeight As Long, lpANDbitPlane As Any, lpXORbitPlane As Any) As Long
Private Declare Function DestroyCursor Lib "user32" (ByVal hCursor As Long) As Long
Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Dim hnewcursor As Long  ' newly created cursor
    Dim holdcursor As Long  ' receives handle of default cursor
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net

    ' Create a 32x32 color cursor shaped somewhat like a yin-yang symbol.
    ' (The bit masks come from Microsoft's documentation on the API cursors function, just to
    ' give them their due credit.)  Note how the masks are loaded into the arrays.  The new
    ' cursor is then set to be the cursor for 10 seconds.
    Dim andbuffer As String, xorbuffer As String  ' buffers for masks
    Dim andbits(0 To 127) As Byte  ' stores the AND mask
    Dim xorbits(0 To 127) As Byte  ' stores the XOR mask
    Dim c As Integer, retval As Long  ' counter and return value

    ' Unfortunately, VB does not provide a nice way to load lots of information into an array.
    ' To load the AND and XOR masks, we put the raw hex values into the string buffers
    ' and use a loop to convert the hex values into numeric values and load them into
    ' the elements of the array.  Yes, it's ugly, but there's no better way.  Note the
    ' use of the line-continuation character here.  Each sequence of eight hex
    ' characters represents one line in the 32x32 cursor.
    andbuffer = "FFFC3FFF" & "FFC01FFF" & "FF003FFF" & "FE00FFFF" & _
            "F701FFFF" & "F003FFFF" & "F003FFFF" & "E007FFFF" & _
            "C007FFFF" & "C00FFFFF" & "800FFFFF" & "800FFFFF" & _
            "8007FFFF" & "8007FFFF" & "0003FFFF" & "0000FFFF" & _
            "00007FFF" & "00001FFF" & "00000FFF" & "80000FFF" & _
            "800007FF" & "800007FF" & "C00007FF" & "C0000FFF" & _
            "E0000FFF" & "F0001FFF" & "F0001FFF" & "F8003FFF" & _
            "FE007FFF" & "FF00FFFF" & "FFC3FFFF" & "FFFFFFFF"
    xorbuffer = "00000000" & "0003C000" & "003F0000" & "00FE0000" & _
            "0EFC0000" & "07F80000" & "07F80000" & "0FF00000" & _
            "1FF00000" & "1FE00000" & "3FE00000" & "3FE00000" & _
            "3FF00000" & "7FF00000" & "7FF80000" & "7FFC0000" & _
            "7FFF0000" & "7FFF8000" & "7FFFE000" & "3FFFE000" & _
            "3FC7F000" & "3F83F000" & "1F83F000" & "1F83E000" & _
            "0FC7E000" & "07FFC000" & "07FFC000" & "01FF8000" & _
            "00FF0000" & "003C0000" & "00000000" & "00000000"
    ' Now load these hex values into the proper arrays.
    For c = 0 To 127
        andbits(c) = Val("&H" & Mid(andbuffer, 2 * c + 1, 2))
        xorbits(c) = Val("&H" & Mid(xorbuffer, 2 * c + 1, 2))
    Next c
    ' Finally, create this cursor!  The hotspot is at (19,2) on the cursor.
    hnewcursor = CreateCursor(App.hInstance, 19, 2, 32, 32, andbits(0), xorbits(0))
    ' Set the new cursor as the current cursor for 10 seconds and then switch back.
   wait 10000, Horas   'Wait 10000 horas jeje haber que pc aguanta esto encendida...
    retval = SetCursor(holdcursor)  ' change cursor back
    ' Destroy the new cursor.
    retval = DestroyCursor(hnewcursor)
End Sub
Public Sub wait(ByVal vToWait&, Optional ByVal ThisWait As eTime = Segundos, Optional ByVal UseAllProc As Boolean = False)
Dim vDateE      As Date
    vDateE = DateAdd("s", vToWait& * (ThisWait + 0), Time)
    Do While vDateE > Time
        holdcursor = SetCursor(hnewcursor)  ' change cursor
        Call WaitMessage
        If Not UseAllProc Then DoEvents
    Loop
End Sub



P.D.: Adapta el codigo y metelo a un modulo de clase y donde puse holdcursor = SetCursor(hnewcursor)  ' change cursor puedes meter un RaiseEvent... solo para notificar por mensajes entrantes asi se puede malear el proceso Wait()...

Temibles Lunas!¡.
#1688
.
No uses Goto... confunden al programador mejor aprende a usar Not, <> , <,<=, = >, >=, or, and, xor, etc.. if then.
usar goto no es malo pero si usas mas de 1 es que tu logica de programador  es deficiente, mejor aprende a crear subprocesos, funciones, etc..

P.D.: Si realizas subtutinas/funciones/etc (Divide y venceras) tu programa sera maleable.

Dulces Lunas!¡.
#1689
.
Para solo esperar a que temine debes tener el pID de cualquier manera...

Código (Vb) [Seleccionar]

Const SYNCHRONIZE = &H100000
Const INFINITE = -1&
   process_handle = OpenProcess(SYNCHRONIZE, 0, pID)
   If process_handle <> 0 Then
       WaitForSingleObject process_handle, INFINITE
   End If


Ahora que si deseas saber algo sobre dicho proceso puede ser por el nombre, el pID(es el mas esacto), por la ruta de ejecucion, entre otras cosillas.

Process32First

Temibles Lunas!¡.