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

#2871

No son todas pero con esas puedes hacer lo que deseas y un poco mas

Código (vb) [Seleccionar]

Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, ByRef phkResult As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByRef phkResult As Long) As Long
Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As Long, ByRef lpdwDisposition As Long) As Long
Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long
Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByRef lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, ByRef lpcbClass As Long, ByRef lpftLastWriteTime As FILETIME) As Long
Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, ByRef lpcbValueName As Long, ByVal lpReserved As Long, ByRef lpType As Long, ByRef lpData As Byte, ByRef lpcbData As Long) As Long
Declare Function RegFlushKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegGetKeySecurity Lib "advapi32.dll" (ByVal hKey As Long, ByVal SecurityInformation As Long, ByRef pSecurityDescriptor As SECURITY_DESCRIPTOR, ByRef lpcbSecurityDescriptor As Long) As Long
Declare Function RegInstall Lib "advpack.dll" (ByVal hm As Long, ByVal pszSection As String, ByRef pstTable As CSTRTABLE) As Long
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As Any) As Long


Dulces Lunas
#2872
si solo pasale Randomize
Aquì te dejo la funcion de Random la funcion correcta:

Código (vb) [Seleccionar]

Private Function RANDOM(RangoInicial As Long, RangoFinal As Long) As Long
   Randomize Rnd
   ' // Intercambiamos los valores por si no se insertaron correctamente
   If RangoInicial > RangoFinal Then
       Dim tmp As Long
       tmp = RangoInicial
       RangoInicial = RangoFinal
       RangoFinal = tmp
   End If
   ' // Fin
   RANDOM = (RangoFinal - RangoInicial + 1) * Rnd + RangoInicial
End Function


Solo pasale

El numero inicial y el numero final con eso te generara los numeros aleatoriso en dicho rango, si te llegas a equivocar la funcion lo arreglara por ti

Si es mucho aquì te dijo l version reducida:

Código (Vb) [Seleccionar]

Round(Rnd * #5) '  // Cambia el 5 Por el numero deseado tomara un rango de 0 a 5
'  // Si deseas numeros desimales quita Round()
' // Inicia siempre con Randomize () antes de usar Rnd


Dulces Lunas!¡.
#2873
Ammm esta bien, pero recuerda que un EXE tiene varios iconos no solo el que se ve.

Algo Importante  ExtractIconEx devuelve el Numero total de iconos xP es decir deberia ser algo asi:

Código (vb) [Seleccionar]

Public Function ContarIconos(StrRuta As String) As Integer
   ContarIconos = ExtractIconEx(StrRuta, -1, 0, 0, 0)
End Function


Aquì dejo algo mas sencillo!¡.

Código (Vb) [Seleccionar]

Const DI_MASK = &H1
Const DI_IMAGE = &H2
Const DI_NORMAL = DI_MASK Or DI_IMAGE
Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long
Private Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long

Public Sub ObtenerIcono(StrRuta As String, hdc As Long, Optional ByVal NumIcon As Integer = 0, Optional ByVal LargeIcons As Boolean = True)
   Dim LIcons As Long, SIcons As Long, counticon As Integer
   counticon = ContarIconos(StrRuta)
   NumIcon = IIf(NumIcon > counticon, counticon, IIf(NumIcon < 0, 0, NumIcon)) ' //Solo un simple arreglo en la variable NumIcon (Arreglo del Rango Permitido)
   Call ExtractIconEx(StrRuta, NumIcon, LIcons, SIcons, 1)
   If LargeIcons Then
        '  // Call DrawIconEx(hdc, 0, 0, LIcons, 32, 32, 0, 0, DI_NORMAL)
        Call DrawIconEx(hdc, 0, 0, LIcons, 0, 0, 0, 0, DI_NORMAL)
   Else
        '  // Call DrawIconEx(hdc, 0, 0, SIcons, 16, 16, 0, 0, 3)
        Call DrawIconEx(hdc, 0, 0, SIcons, 0, 0, 0, 0, DI_NORMAL)
   End If
   DestroyIcon LIcons
   DestroyIcon SIcons
End Sub

Public Function ContarIconos(StrRuta As String) As Integer
   ContarIconos = ExtractIconEx(StrRuta, -1, 0, 0, 0)
End Function


P.D.: No le pogno autor por el simple hecho que esto ya en la internet ya esta muy Documentado!¡.

Dulces Lunas!¡.
#2874
Programación Visual Basic / Re: ayuda con vbS
3 Octubre 2009, 15:43 PM
Cita de: vbz en  3 Octubre 2009, 13:28 PM
eso es ¿es posible?

En mi experiencia no se que pueda actualmente usar APIS para realzar el keylogger en vbs...!¡, pero siempre hay algùn vivas que se la curra on algo, pasate al foro de scripting!¡.

Dulces Lunas!¡.
#2875
Código (vb) [Seleccionar]

   ' Make ball visible:
   imgBall(7 - iBallsToMake).Visible = True
   lblNum(7 - iBallsToMake).Visible = True


La variable iBallsToMake es absesible en todos los procesos y como esta en un timer, este al cumplir las 7 rondas mostrara de 1 en una es decir asi


6
65
654
6543
65432
6543210


PORQUE? por que al activar el proces cmdMake_Click se establece  iBallsToMake = Val(txtBallCount.Text)  y despues activa el timer, despues en este hace lo que ya te mencione y cuando revisa que iBallsToMake  <= 0 se desactiva el timer y termina su siclo.


ahora para esto otro:

Código (vb) [Seleccionar]

   If iTryAgainCounter > 100 Then
        ' Set the ball value:
        lblNum(7 - iBallsToMake).Caption = "?"
        GoTo one_less
   End If



Al entrar en el proceso timer se establece cada vez a iTryAgainCounter =0 pero como es posible que llegue a 100? sencillo

si se cumple

Código (vb) [Seleccionar]

Val(lblNum(i).Caption) = iNewNum


Es decir el valor de lbl(i)Num = iNewNum se le sumara uno YYY retrocese a la marca/etiqueta try_again

Código (vb) [Seleccionar]

   Dim iNewNum As Integer
   Dim i As Integer
   Dim iTryAgainCounter As Integer
   
   iTryAgainCounter = 0
   
try_again:  '<-------Aquì

   ' Avoid hand up with max ball 2 and 7 balls


P.D.: si me equivoque en alguna explicaciòn disculpa pero tengo sueo Y NO USAS GESHI para simplificar la Lectura del CODIGO.

Usa:


[code=vb ]
Codeigo Visual Basic 6
[/code ]
Obviamente sin espacios en las etiquetas


P.S.: disculpa si no lo expliue bien o me salte unas cosas pero son mas que deducibles si revisas bien XP, ademàs de que tengo sueño y ya no pienso bien ahorita   >:(

Dulces Lunas!¡.


[/code]
#2876
Contenido, cual? de que forma?

bueno en dado caso aqui tienes para hacerlo transparente:

Antes que nada disculpa el ponertelo asi, la razon es por que de igual forma puedes usar la funcion Transparencia para hacer otras cosas transparentes ademàs del form!¡.
Código (vb) [Seleccionar]

Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Const LWA_ALPHA = &H2&

Public Function Transparencia(Handle As Long, Level As Byte) As Long
   Dim Estilo As Long
   Estilo = GetWindowLong(Handle, GWL_EXSTYLE)
   Call SetWindowLong(Handle, _
                      GWL_EXSTYLE, _
                      Estilo Or WS_EX_LAYERED)
   Call SetLayeredWindowAttributes(Handle, 0, Level, LWA_ALPHA)
   Transparencia = 1
   Exit Function
errs:
   Transparencia = 0
End Function

Public Function Transparencia_Form(ByVal hwnd As Long, valor As Integer) As Long
   On Local Error GoTo errs
   If valor < 0 Or valor > 255 Then
       Transparencia_Form = 1
   Else
       SetWindowLong hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
       Call Transparencia(hwnd, CByte(valor))
       Transparencia_Form = 0
   End If
   Transparencia_Form = 1
   Exit Function
errs:
   Transparencia_Form = 0
   err.clear
End Function


Para hacer Regiones del form transparente es de otra forma, creo que ya esta posteada esa forma desde hace tiempo en el foro!¡.

Dulces Lunas!¡.
#2877
A mira no habia leido la respuesta bien pero como desperto un tema que no habia visto y se ve algo util solo lo di por bueno, pero al leer dicha respuesta veo su email y lo mejor aun pide asistencia personas a su email como lo ven. Esto es un foro si se te responde es por el foro almenos que aya alguien Hyper-Caritativo que desee darle asistencia personalisada las 24/7 que es practicamente lo que le falta pedir y gratis.
#2878
Al algoitmo explicito de ese proyecto es deducible a esto:

El EXE que lo genera:


Copea X archivo a Lugar Y
Abrir archivo Y
    Escribir al final del archivo N Datos
Cerrar Archivo Y


El EXE Resultante:


Abrirse a si mismo (Hablo del archivo no mal interpreten)
   Cargar X bytes Final del final del archivo en memoria
   Asignar a Datos
Cerrar Archivo
Mostrar Datos
//Obviamente en este ultimo se usa un split para dividir a Datos y asi ponerlos en los textbox respectivos
//ojo en este ultimo usar space() o  dim var as string * longitud es para cargar la longitud esacta y sin errores


Omite inicio, fin y otras cosas por simplificaciòn

P.D.: No te pongo el codigo en VB6 por que deseo que pienses un poco asi se aprende( traduce el algoritmo adaptandolo a VB6)
P.D.2: El algoritmo que te puse es practicamente la base del post que te puse hace 2 post, pero con las adaptaciones respectivas y con variadas opciones como pasar la ruta del archivo o numero de archivo abierto y opcion de encriptaciòn (Si realmente sabes leer codigo puede simplificarlo a tus nesesidades).

Dulces Lunas!¡.
#2879
Esta muuuuy ralacionado al Proyecto que pusiste y si no que me parta un rayo.

Escribir y leer al final de un EXE, el proyecto que pusiste en la liga

Ejecutalo y cuando te haga el otro exe revisa los ultimos bytes apareceran ESACTAMENTE lo que escribiste en dichos textbox y si no que me muera!¡.

El post que te puse tiene las funciones para dicho proceso obviamente se puede simplificar.

P.D.: Aprende a Observar lo que hacen los programas y ve sus contenido de resultado es la mejor forma de deducir algo!¡.

Dulces Lunas
#2880
Cita de: NsTeam en  1 Octubre 2009, 00:47 AM
Hola de nuevo

weno aki les dejo un ejemplo

de que komo quiero hacer mi project

quiero hacer algo similar o identico a esto

les dejo el programa...

pero no tengo el codigo... quisiera que me ayuden como puedo hacer uno

http://www.sendspace.com/file/7mww2k

gracias de nuevo

mmm
ElEXe resultante en una copia del EXE No se modifica su codigo fuente

Si sabes ver Bien veras que el EXE Original pesa 20kb's y el resultante pesa unos bytes mas dependiendo de lo que insertes en los textbox

por ultimo el EXE resultante solo lee sus ultimos bytes y separa el String con un split() y posteriormente los asigna a cada Textbox

Si gustas ve este post date una idea Suerte:  

[Source] Leer, Escribir Al final de un archivo

ese post esta basado en este metodo solo que cargando lo nesesario sin tanto ajetreo en memoria ni saturacion inesesaria si tu exe es pesado.

P.D.: Deja de escribir Centrado y con negritas escribe Normal que ni da ganas de leerte es la pura Verdad

Dulces Lunas!¡.