Buenas hace rato que no ando por aqui, asi que les traigo un spam digo un aporte, se trata de un control de usuario de una etiqueta (Label) con las opciones necesaria para hacer casi todo lo que esta visualmente de moda al dia de la fecha. voy a dejar el link del post en mi blog donde amplió un poco mas todo y algunas capturas
hola ,mediante el registro recolecto cadenas de uninstall de los programas instalados ahora hay forma de llamar al desinstalador de forma silenciosa y oculta sin que muestre una interfaz de usuario, es decir que se desinstale sin opciones.
mi intento fue con ShellExcute + el comando y Hide pero igual se muestra la interfaz preguntando.
Este es un pequeño código para participar del concurso de Abril Negro el código no es nada sofisticado pero es para motivar a ustedes a participar, se trata de un juego (no es nada peligroso) pero es para mostrar un método de como infectar utilizando Excel mediante código VBA, claro que se requiere habilitar las macros.
Como es un juego en el que quiero que participen no quiero dar muchos detalles al menos hasta que se cumpla la fecha del concurso.
Esta programado parte en VBA y parte en VB6, ademas utilizo esta herramienta La idea es mostrar como infectar una pc utilizando una planilla de excel.
Hola como dice el titulo quiero crear una función que pase un numero decimal a grados minutos segundos.
la cuenta es fácil consiste en tomar un numero por ejemplo como este 32.4525 la parte entera es el grado (32) la parte decimal se la multiplica por 60 (0.4525 x 60) eso da como resultado 27,15 la parte entera son los minutos (27), y a la parte decimal se la multiplica por segundos 0.15 x 60 el resultado de eso ( 9) son los segundos (este ultimo puede tener decimales.)
esta es la función que hice pero no funciona bien
Código
OptionExplicit
PrivateSub Form_Load()
Dim G AsDouble, M AsDouble, S AsDouble
DecimalToGMS 32.4525, G, M, S
Debug.Print G, M, S '32.4525 = 32 Grados,27 Minutos,9 Segundos
DecimalToGMS 61.0125731667, G, M, S
Debug.Print G, M, S '61.0125731667 = 61 Grados,0 Minutos,45.2633999976 Segundos
EndSub
PrivateFunction DecimalToGMS(Value AsDouble, Grado AsDouble, Minuto AsDouble, Segundo AsDouble)
intente utilizar el valor como una cadena de texto pero tengo el problema cuando en la parte de multiplicar los segundos no hay decimales, si lo tratan como una cadena de texto tengan en cuenta que según la configuración local el punto podría ser una coma.
Hola, se me presento la necesidad de crear esas funciones y en la web encontré algunas pero no funcionan muy bien asi que me pareció interesante el reto, no es muy dificil (creo), pero es para ver quien las puede hacer funcionar mas rapido.
Código:
Public Function URLDecode(ByVal sURL As String, Optional ByVal SpacePlus As Boolean = True) As String Public Function URLEncode(ByVal sURL As String, Optional ByVal SpacePlus As Boolean = True) As String
el segundo parametro es opcional para remplazar espacios por +
Hola, alguien sabe de alguna forma de compartir un valor entre modulos clases, por ejemplo si yo agrego un modulo publico y pongo Dim Contador as long todas las clases dentro del proyecto pueden consultar ese valor desde el modulo publico, pero la idea de usar un modulo publico para declarar esa única variable no me gusta, debe existir alguna api, para hacer eso no?. (un Global o algo asi)
una opción se que puedo utilizar (CreateWindowEx ,FindWindow, SetProp y GetProp ) pero no me parece para nada elegante.
mi idea es crear un tipo de semaforo o mejor dicho un tipo contador de clases que se van creando y cuando se descargan, van restando 1 valor al contador, cuando llega la ultima y ve que este valor es 0 llama a una función para descargar lo que cargo la primera
Hola, se que esto ya se hablo en el foro, pero no recuerdo bien con que apis buscar, quiero modificar cierta parte de el array de bits de un proceso. Se agradecen aportes.
Hola, estoy intentando obtener el puntero de una funcion dentro de una clase tal como se habló dentro de este post, pero mi problema es que la funcion no tiene cuatro paramentros sino dos y cuando intento llamar a la funcion llega a funcionar pero inmediatamente revienta el vb bien, no se como hay que modificar el ASM para indicar que la funcion tiene dos long como parametro.
esto es lo que estoy haciendo, intento disparar el callback de una webcam dentro de un modulo clase
Código:
Option Explicit
Private Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long) Private Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Integer, ByVal hWndParent As Long, ByVal nID As Long) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long Private Const WM_USER As Long = &H400 Private Const WM_CAP_START As Long = WM_USER Private Const WM_CAP_SET_CALLBACK_FRAME As Long = WM_CAP_START + 5 Private Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP_START + 10 Private Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP_START + 11 Private Const WM_CAP_GET_VIDEOFORMAT As Long = WM_CAP_START + 44 Private Const WM_CAP_GRAB_FRAME As Long = WM_CAP_START + 60
Private Type VIDEOHDR lpData As Long dwBufferLength As Long dwBytesUsed As Long dwTimeCaptured As Long dwUser As Long dwFlags As Long dwReserved(3) As Long End Type
Private bvASM(40) As Byte Private hwndCap As Long
Public Function FrameCallBack(ByVal lWnd As Long, ByVal lpVHdr As Long) As Long
Debug.Print "FUNCIONA!"
End Function
Public Function Capture() Call SendMessage(hwndCap, WM_CAP_GRAB_FRAME, ByVal 0&, ByVal 0&) End Function
If hwndCap Then Call SendMessage(hwndCap, WM_CAP_SET_CALLBACK_FRAME, 0, GetAdressMe(Me)) CreateCaptureWindow = True End If End Function
Function capGetVideoFormat(ByVal hCapWnd As Long, ByVal CapFormatSize As Long, ByVal BmpFormat As Long) As Long capGetVideoFormat = SendMessage(hCapWnd, WM_CAP_GET_VIDEOFORMAT, CapFormatSize, BmpFormat) End Function
Public Function DestroyCaptureWindow() As Boolean If hwndCap Then DestroyCaptureWindow = DestroyWindow(hwndCap): hwndCap = 0 End Function
Public Function ConnectDriver() As Boolean If hwndCap Then ConnectDriver = SendMessage(hwndCap, WM_CAP_DRIVER_CONNECT, 0&, 0&) End Function
Public Function DisconnectDriver() As Boolean If hwndCap Then Call SendMessage(hwndCap, WM_CAP_SET_CALLBACK_FRAME, 0&, vbNull) DisconnectDriver = SendMessage(hwndCap, WM_CAP_DRIVER_DISCONNECT, 0&, 0&) End If End Function
Private Function GetAdressMe(Obj As Object) As Long Dim WindowProcAddress As Long Dim pObj As Long Dim pVar As Long
Private Sub LongToByte(ByVal lLong As Long, ByRef bReturn() As Byte, Optional i As Integer = 0) bReturn(i) = lLong And &HFF bReturn(i + 1) = (lLong And 65280) / &H100 bReturn(i + 2) = (lLong And &HFF0000) / &H10000 bReturn(i + 3) = ((lLong And &HFF000000) \ &H1000000) And &HFF End Sub
en el formulario con un boton
Código:
Option Explicit Dim C1 As Class1
Private Sub Command1_Click() C1.Capture End Sub
Private Sub Form_Load() Set C1 = New Class1 C1.CreateCaptureWindow C1.ConnectDriver End Sub
Private Sub Form_Unload(Cancel As Integer) C1.DisconnectDriver C1.DestroyCaptureWindow Set C1 = Nothing End Sub