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

#1631
.
Código (Vb) [Seleccionar]


Call SendMessage(Hndl, WM_SETTEXT, 0, ByVal "echo pokemon")



Con la constante WM_SETTEXT + el handle de la ventana es como llamar a la API.

Código (Vb) [Seleccionar]


Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long



Espero lo comprendas con esto:

Es como si le pasaras el handle de un Form y quieres establecer un texto a un TextBox... es decir no nesesitarias el Handle de la ventana del form contenedor realmente, sinenbargo si el el Handle del TextBox el cual es una ventana...

En otras palabras debes buscar el Handle REAL de la ventana donde quieres establecer el texto, aun que no creo que puedas en el Command Line pero no estoy seguro..

Dulces Lunas!¡.
.
#1632
.
Gracias antes que nada.



-cuando se encuentra escaneando veo que se puede seleccionar donde no hay items, pero esto puede ser que no se refresca a tiempo



Lo que pasa es que se crea un Buffer ademas de que desactivo el la AututoActualziacion del Control es decir No se ven cambios. con este codigo lo veras mejor...

Aqui un ejemplo...

Código (vb) [Seleccionar]


Private Sub Command1_Click()
Dim lng_ri&
Dim lng_ci&
   With LVE_List
       Call .ClearAll '    //  Limpiamos TODO Filas y Columnas... Si es que existiesen con anterioridad!¡
       .BackColor = 5120
       
       '   //  Desactivar la Auto-Actualziacion del Control
       .RefreshAutomatic = False
       '   //  .ColumnAdd() Nos retorna el Index de la columna agregada
       '.ColumnCount = 3   '   //  Tambien se puede hacer Buffer de Columnas...
       .ColumnAlign(.ColumnAdd("Columna 1", 190, vbWhite, vbWhite)) = NumeroAleatorio(0, 2)
       .ColumnAlign(.ColumnAdd("Columna 1", 190, vbWhite, vbWhite)) = NumeroAleatorio(0, 2)
       .ColumnAlign(.ColumnAdd("Columna 1", 180, vbWhite, vbWhite)) = NumeroAleatorio(0, 2)
       
       '   //  Creamos un Buffer o mejor dicho creamos de golpe todas esas filas (SwapPtr() ayuda mucho par alos Strings).
       .RowCount = 32000          
       MsgBox "Buffer Creado, Se empesaran llenar " & .RowCount & " con " & .ColumnCount & " Columnas."
       For lng_ri& = 0 To .RowCount - 1
           For lng_ci& = 0 To .ColumnCount& - 1
               .RowSubItem(lng_ri&, lng_ci&, _
                           RGB(NumeroAleatorio(0, 255), NumeroAleatorio(0, 255), NumeroAleatorio(0, 255)), _
                           NumeroAleatorio(0, 2), _
                           CBool(NumeroAleatorio(0, 1)), _
                           CBool(NumeroAleatorio(0, 1)), _
                           CBool(NumeroAleatorio(0, 1))) = lng_ri& & " - " & lng_ci&
           Next lng_ci&
       Next lng_ri&
       '   //  activar la Auto-Actualziacion del Control
       .RefreshAutomatic = True    
       MsgBox "Finalizado"
   End With
End Sub
Public Function NumeroAleatorio(MinNum As Long, MaxNum As Long) As Long
Dim Tmp                                 As Long
   If MaxNum < MinNum Then: Tmp = MaxNum: MaxNum = MinNum: MinNum = Tmp
   Randomize: NumeroAleatorio = (MinNum - MaxNum) * Rnd + MaxNum
End Function



Nota:    LVEX.RowCount = N  tiene un Bug y se arregla sustituyendo por este codigo:

Código (Vb) [Seleccionar]


Public Property Let RowCount(ByVal vData As Long)
   With PCVars.Rows
       Dim i&, ii&
       If vData& > 0 And PCVars.Columns.Count& > 0 Then
           ReDim Preserve .Row(0 To vData& - 1)
           For i& = .Count To vData - 1
               ReDim Preserve .Row(i&).SubRows(0 To PCVars.Columns.Count& - 1)
               For ii& = 0 To PCVars.Columns.Count - 1
                   .Row(i&).SubRows(ii&).IconIndex = InvalidValueArray
               Next ii&
               .Count = i& + 1
           Next i&
           .Count = vData&
           If PCVars.System.AutoRefresh Then Call Refresh
       End If
   End With
End Property



Sin contar a RowText que hay me falto un SwapPtr()... pero no hay problemas con este ya que SwapPtr() solo lo uso para evitar las reasignaciones de memoria....

Dulces Lunas!¡.
#1633

Código (vb) [Seleccionar]


GetFlag(GetCountry)



Esta funcion retorna el indice de la imagen en el ImageList.

http://translate.google.com.mx/
This function returns the index of the image in the ImageList.

Dulces Lunas!¡.
#1634
.
Esto te ayudara si no tienes un Array de controles.

Código (Vb) [Seleccionar]


Dim v   As Variant
    For Each v In Me.Controls   '  // Me = Form Actual  tambien puedes poner Form1.controls etc..
        If TypeName(v) = "Label" Then
            With v
                .BorderStyle = 0
                .BackColor = vbRed
            End With
        End If
    Next v



Temibles Lunas!¡.
#1635
.
La funcion de Mr Frogs Realiza Bucles Infinitos.. por lo cual esta prueba fue realziada en el IDE con solo 22 vueltas.

Descargar Prueba Con Mr Frogs ( Tiene instrucciones ajenas a los algoritmos originales para identificar cual crashea o realiza bucles infinitos. )
Descargar Prueba Sin Mr Frogs ( Codigos Originales )



============ RETO ZigZag 05/01/2011 - 03:16:49 p.m. ============
Nº de vueltas: 22

MrFrogs Err: 1
MrFrogs Err: 2
MrFrogs Err: 3
MrFrogs Err: 10
MrFrogs Err: 11
MrFrogs Err: 12
MrFrogs Err: 14
MrFrogs Err: 15
MrFrogs Err: 17
MrFrogs Err: 18
MrFrogs Err: 19
MrFrogs Err: 20
MrFrogs Err: 21
MrFrogs Err: 22

Test made by BlackZeroX.



Test de Velocidad:



============ RETO ZigZag 05/01/2011 - 03:37:14 p.m. ============
Nº de vueltas: 10000

============ VELOCIDAD ============
01 Leandro_ZipZag      2858.362812
02 79137913            3194.775132
03 BlackZeroX_ZigZag   4399.080652

Test made by BlackZeroX.



Dulces Lunas!¡.
#1637
.
Como que donde... Pues donde tienes hBuffer... que no sabes donde sale?

P.D.: Declara lpBuffer para que te resiva el puntero...

Dulces Lunas!¡.
#1638
.
Version Anterior Go To ListView 1.0

  • Este Control Esta Re-Programado al 100% ademas de que el codigo esta 100% mas legible que el anterior.
  • Iconos Independientes en cada Celda, o Columnas ( Alineacion Izquierda Derecha )
  • Agregado Multiseleccion Con Shift y Control
  • Agregado FullRowSelection
  • Los Iconos se Pueden reajustar sus dimensiones sin que se reasigne la Coleccion de imagenes
  • Las celdas que no contengan Icono asignado no tienen espaciado inensesario
  • Texto En Negrita de forma independiente apra cada celda/Header
  • Texto En Cursiva de forma independiente apra cada celda/Header
  • Texto En Sub-raya dode forma independiente apra cada celda/Header
  • Font Name exclusivo para los TODOS los Header
  • Font Name exclusivo Para TODAS las Filas
  • Tag Independiente apra cada Fila
  • Tag independiente para cada Header
  • Eventos Por Regiones ( Zona Header, Zona Filas )
  • Eventos Habituales y Comunes
  • ToolTip para cada Fila de forma independiente
  • ToolTip para cada Header de forma independiente
  • Texto En Negrita de forma independiente apra cada celda/Header
  • Texto Colorido para cada celda de forma Independiente
  • Texto Alineado para cada celda de forma Independiente ( Izquierda Derecha o Centrado )
  • Texto Colorido para cada Header de forma Independiente
  • Texto Alineado para cada Header de forma Independiente( Izquierda Derecha o Centrado )
  • A Cada header sele puede asignar un color de forma independiente
  • Color Independiente a la Seleccion de Filas
  • Depende Solo de la Clase Cls_Imagelist 2.0 o superior ( Viene incluida en la descarga )
  • Dezplazamiento de una Cantidad Dada de columnas a una posicion X
  • Dezplazamiento de una Cantidad Dada de filas a una posicion X







<Download>

Dulces Lunas!¡.
.
#1639
.
@79137913

Código (vb) [Seleccionar]


SQ_Root = Int(N ^ 0.5)



La potencia con fracciones son mas lentas que las raiz, aun que sean equivalentes... VB la convierte a raiz pero tarda mas que hacer la raiz misma, en otras palabras usa sqr().

Dulces Lunas!¡.
#1640
.
Me imagino que se puede hacer asi... aun que si tuviera Nops ( 00 ) pues usaria un string pero mejor un array de Bytes.

Código (Vb) [Seleccionar]


Dim Byt_ARR_Data() as byte
Redim Byt_ARR_Data(1 to longituddeBytes)



y en el ReadProcessMemory en lugar de poner el puntero a un long o el long mismo pones

Código (Vb) [Seleccionar]


byval varptr(Byt_ARR_Data(1))



y le pones la longitud del array sin pasarte OJO con eso...

P.D.: en los enlaces pegados en rtinas o algo asi hay un programa que hizo MadAntraX que Dumpea la memoria al Disco Duro de un Proceso X quisas te sirva... aun es casi lo mismo viene con el Codigo Fuente en VB6.

Dulces Lunas!¡.