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

#261
Cita de: Drinky94 en 17 Abril 2010, 14:17 PM
Alguien sabe la declaracion de la api OpenThread? esque la he estado buscando y no la encuentro.

Esperando respuesta.

salu2!

te si vas a trabajar con apis te recomiende te instales estas dos aplicaciones


ApiViewer 2004
El Api Viewer 2004 , es un visor de funciones api (constantes y estructuras, etc..) no te puede faltar!!!.

Descargar: ApiViewer2004 3.10



Api Guide
Esta es una aplicación con una colección con cientos de ejemplos utilizando el api de windows para visual basic 6.0 , y en menor cantidad para visual basic .net.
una herramienta casi indispensable para programar en VB6.0

Descargar: API-Guide 3.7.854


#262
muy bien  :D, habia echo un monton de pruebas y me explotaba el vb, seguramente devia estar pasando mal algun valor con byval, y para los long no usaba varptr.

Gracias. y te felicito nuevamente.
#263
Muy bueno Kar, che hay una duda con esto del callApi que me carcome no pude lograr nunca pasar estas funciones, vos que la tenes mas clara capas que las sacas.

Código (vb) [Seleccionar]

Option Explicit
Private Declare Function RtlGetCompressionWorkSpaceSize Lib "NTDLL" (ByVal flags As Integer, WorkSpaceSize As Long, UNKNOWN_PARAMETER As Long) As Long
Private Declare Function NtAllocateVirtualMemory Lib "ntdll.dll" (ByVal ProcHandle As Long, BaseAddress As Long, ByVal NumBits As Long, regionsize As Long, ByVal flags As Long, ByVal ProtectMode As Long) As Long
Private Declare Function RtlCompressBuffer Lib "NTDLL" (ByVal flags As Integer, ByVal BuffUnCompressed As Long, ByVal UnCompSize As Long, ByVal BuffCompressed As Long, ByVal CompBuffSize As Long, ByVal UNKNOWN_PARAMETER As Long, OutputSize As Long, ByVal WorkSpace As Long) As Long
Private Declare Function RtlDecompressBuffer Lib "NTDLL" (ByVal flags As Integer, ByVal BuffUnCompressed As Long, ByVal UnCompSize As Long, ByVal BuffCompressed As Long, ByVal CompBuffSize As Long, OutputSize As Long) As Long
Private Declare Function NtFreeVirtualMemory Lib "ntdll.dll" (ByVal ProcHandle As Long, BaseAddress As Long, regionsize As Long, ByVal flags As Long) As Long

Public Function Compress(Data() As Byte, Out() As Byte) As Long
   Dim WorkSpaceSize As Long
   Dim WorkSpace As Long
   ReDim Out(UBound(Data) * 1.13 + 4)

   RtlGetCompressionWorkSpaceSize 2, WorkSpaceSize, 0
   NtAllocateVirtualMemory -1, WorkSpace, 0, WorkSpaceSize, 4096, 64
   RtlCompressBuffer 2, VarPtr(Data(0)), UBound(Data) + 1, VarPtr(Out(0)), (UBound(Data) * 1.13 + 4), 0, Compress, WorkSpace
   NtFreeVirtualMemory -1, WorkSpace, 0, 16384
   ReDim Preserve Out(Compress)

End Function

Public Function DeCompress(Data() As Byte, dest() As Byte) As Long
   If UBound(Data) Then
       Dim lBufferSize As Long
       ReDim dest(UBound(Data) * 12.5)
       RtlDecompressBuffer 2, VarPtr(dest(0)), (UBound(Data) * 12.5), VarPtr(Data(0)), UBound(Data), lBufferSize
       If lBufferSize Then
           ReDim Preserve dest(lBufferSize - 1)
           DeCompress = lBufferSize - 1
       End If
   End If
End Function


Saludos.
#264
mm yo me marie pero la cosa es asi, el codigo de fuente siempre te va a mostrar loading..  lo que pone el numero en tiempo de ejecucion es el javascript, lo que vos tens que verificar es el html, document.body.innerHTML  eso te da el html actual,
otra forma que creo que es la mejor es llamar a la funcion javascript y esta deberia devlover ese numero pero bueno desde aca y sin saber la pagina es complicado poder ayudar.

Saludos.
#265
si en local te conecta es problema de el router de la pc donde queres conectar, busca en internet como habilitar los puertos en un router.

Saludos.
#266
Este tema esta algo viejo segun las reglas no se puede revivir. pero bueno para la proxima crea un nuevo post y pode hacer referencia al link

bueno la respuesta es utilizando hook

en un modulo .bas
Código (vb) [Seleccionar]

Option Explicit
Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Const WH_MOUSE_LL As Long = 14

Private Type POINTAPI
   x As Long
   y As Long
End Type

Dim hHook As Long
Dim lDC As Long

Public Sub StartHook()
   hHook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseProc, App.hInstance, 0)
   lDC = GetWindowDC(0&)
End Sub


Public Sub StopHook()
   Call UnhookWindowsHookEx(hHook)
   ReleaseDC 0&, lDC
End Sub


Private Function MouseProc(ByVal nCode As Long, ByVal wParam As Long, lParam As POINTAPI) As Long
    On Error Resume Next
   
    Dim lColor As Long
   
    lColor = GetPixel(lDC, lParam.x, lParam.y)
   
    If lColor = -1 Then
        ReleaseDC 0&, lDC
        lDC = GetWindowDC(0&)
        lColor = GetPixel(lDC, lParam.x, lParam.y)
    End If
   
    Form1.BackColor = lColor

End Function


y para el form1
Código (vb) [Seleccionar]

Option Explicit

Private Sub Form_Load()
   StartHook
End Sub

Private Sub Form_Unload(Cancel As Integer)
   StopHook
End Sub

Saludos.
#267
che me gusto esa libreria mirando la ayuda vi que se pueden enumerar todas las constantes eventos funcion etc de una librerira

Private Sub Form_Load()

    Dim SIType As SearchItem
    Dim SIMember As SearchItem
    With TypeLibInfoFromFile("msvbvm60.dll")
      .SearchDefault = tliStConstants
      For Each SIType In .GetTypes
        For Each SIMember In .GetMembers(SIType.SearchData)
          Debug.Print SIMember, _
            .GetMemberInfo(SIType.SearchData, SIMember.InvokeKinds, SIMember.MemberId).Value
        Next
      Next
    End With

End Sub
#268
Interesante che, que aplicación sera TLI? saves cual es la refencia¿?

Saludos.
#269
sea como sea skyweb07 es mucho mejor programador que otros que lo critican.
Como decía karcrak si van a acusarlo de copy and paste por usar una api estamos todos fritos.

Lo cómico es que cuando alguien hace un aporte son dos o tres los que se toman la molestia para agradecer o aportar una critica constructiva. pero a la hora de criticar  hacemos un post bien completito donde todos tiran a matar.

Bue cha



#270
Es un xml por lo tanto lo mejor seria utilizar el metodo para leer un xml, pero como en estos dias estuve con expreciones regulares pongo ese metodo.

PD: Raul338  si huviera ledio tu firma dos dias atras me ubieras servido de mucho ;D pero bueno termine usando la que viste.


Option Explicit

Function ExtractEmail(ByVal sSource As String) As Object

   Dim obj_Expresion As Object
   
   Set obj_Expresion = CreateObject("VBScript.RegExp")

   obj_Expresion.Pattern = "[^,;()<>\s]+@[^,;()<>\s]+"
   obj_Expresion.IgnoreCase = True
   obj_Expresion.Global = True
 

  Set ExtractEmail = obj_Expresion.Execute(sSource)
End Function

Private Sub Command1_Click()

   Dim oItems As Object
   Dim i As Long
   
   Set oItems = ExtractEmail(Text1)

   For i = 0 To oItems.Count - 1
       MsgBox oItems(i)
   Next
   
End Sub