elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Una ayuda con frm + apis
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Una ayuda con frm + apis  (Leído 1,270 veces)
sowher

Desconectado Desconectado

Mensajes: 204


Programar es un arte diseñemos arte


Ver Perfil
Una ayuda con frm + apis
« en: 24 Enero 2006, 16:21 pm »

Bueno yo no se mucho de vb, y se me ocurrio una idea pues por q no hacer ventamas pero como yo las diseñle en c es decir con puras apis, sin utilizar ningun frm de vb...

Les agradecieria mucho su ayuda


En línea

Angellore

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Una ayuda con frm + apis
« Respuesta #1 en: 25 Enero 2006, 19:31 pm »

Hola.
Si sabes usar las APIs en C en VB es exactamente lo mismo.

Hay un par de cosas que debes tener en cuenta, luego es análogo a C:

1. El procedimiento principal en VB es Sub Main. Para que el programa se inicie en esta instancia en Propiedades del Proyecto hay que establecer como elemento de inicio Sub Main.

2. Los punteros de función en VB se pasan con el operador lógico AddressOf, esto servirá cuando haya que establecer la función de ventana WndProc en la clase.

3. Depurar el código en tiempo de ejecución es muy peligroso cuando se trata de callbacks, porque pueden producirse resultados impredecibles.

Luego es el mismo procedimiento que en C. Primero se registra la clase de ventana utilizando RegisterClassEx, se llama a CreateWindow y luego se muestra la ventana con ShowWindow.

Voy a ver si encuentro un ejemplo que tengo guardado por alguna parte, si lo encuentro lo posteo.

Saludos.
Angellore.


En línea

sowher

Desconectado Desconectado

Mensajes: 204


Programar es un arte diseñemos arte


Ver Perfil
Re: Una ayuda con frm + apis
« Respuesta #2 en: 26 Enero 2006, 01:58 am »

Gracias me faltaba ShowWindow, ya q nunca me mostraba la ventana ;) pero me gustaria ver un ejmeplo...

Gracias
En línea

sowher

Desconectado Desconectado

Mensajes: 204


Programar es un arte diseñemos arte


Ver Perfil
Re: Una ayuda con frm + apis
« Respuesta #3 en: 28 Enero 2006, 00:45 am »

Ya que nadie me tiro una ayudita, pues aca esta mi esfuerzo, pero tiene un pequeño error y la verdad q no lo encuentro, me gustaria q en esto me ayudaramn.... Gracias
Código:
'*********************************************
' Creador de from
' sowher / GEDZAC - Group / 2006
'*********************************************

Public Const WS_OVERLAPPED = &H0&
Public Const WS_VISIBLE = &H10000000
Public Const WS_MAXIMIZE = &H1000000

Public Const CS_DBLCLKS = &H8

Public Type WNDCLASSEX
    cbSize As Long
    style As Long
    lpfnwndproc As Long
    cbClsextra As Long
    cbWndExtra As Long
    hInstance As Long
    hIcon As Long
    hCursor As Long
    hbrBackground As Long
    lpszMenuName As String
    lpszClassName As String
    hIconSm As Long
End Type

Declare Function RegisterClassEx Lib "user32" Alias "RegisterClassExA" (pcWndClassEx As WNDCLASSEX) As Integer
Declare Function UnregisterClass Lib "user32" Alias "UnregisterClassA" (ByVal lpClassName As String, ByVal hInstance As Long) As Long
Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

Sub main()
    RegistrarClase (WindowProcedure)
   
    If Not CrearAplicacion Then
        MsgBox "Falla en la creacion de la aplicacion"
        UnregisterClass "mipropiaclase", App.hInstance
        Exit Sub
    End If
End Sub

Private Function RegistrarClase(FuncionMensajes As Long) As Boolean
    Dim clase As WNDCLASSEX
   
    clase.cbSize = 0
    clase.style = CS_DBLCLKS
    clase.lpfnwndproc = FuncionMensajes
    clase.cbClsextra = 0
    clase.cbWndExtra = 0
    clase.hInstance = App.hInstance
    clase.hIcon = 0
    clase.hCursor = 0
    clase.hbrBackground = COLOR_WINDOW + 1
    clase.lpszMenuName = 0
    clase.lpszClassName = "clase"
    clase.hIconSm = 0
   
    RegistrarClase = (RegisterClassEx(clase) <> 0)
End Function

Private Function CrearAplicacion() As Boolean
    'Tipos de Ventanas Principales
    hWnd = CreateWindowEx(0, "clase", "Ventana Principal", WS_OVERLAPPED Or WS_VISIBLE Or WS_MAXIMIZE, 0, 0, 500, 400, HWND_DESKTOP, 0, App.hInstance, ByVal 0&)

    If hWnd = 0 Then
        CrearAplicacion = False
        Exit Function
    End If
   
    ShowWindow hWnd, SW_SHOWDEFAULT
    CrearAplicacion = True
End Function
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[VB6-SRC] mZombieInvoke - Llama APIs sin declararlas « 1 2 »
Programación Visual Basic
Karcrack 11 8,297 Último mensaje 14 Agosto 2010, 21:14 pm
por wh0!
Uso de WinDbg y Llamadas de APIs????
ASM
x64core 7 5,865 Último mensaje 10 Octubre 2011, 09:43 am
por Eternal Idol
Apis Winsock
Ingeniería Inversa
ignorantev1.1 5 3,251 Último mensaje 7 Noviembre 2011, 17:29 pm
por MCKSys Argentina
APIS de Python
Scripting
juan_1 2 2,356 Último mensaje 14 Mayo 2020, 19:52 pm
por juan_1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines