Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: elmatador2 en 5 Julio 2016, 00:57 am



Título: meter handler en un picture1 ayuda
Publicado por: elmatador2 en 5 Julio 2016, 00:57 am
hola gente, tengo este codigo, mete una aplicacion en un form, en un picture.... y quisiera saber si en vez de ser por find-window,
puede ser por handrers... alguien podria ayudarme con un ejemplo?
este es mi codigo
Código
  1. '//Funciones API para incrustar el programa en el picture
  2.    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, _
  3. ByVal hWndParent As Long) As Long
  4.  
  5.    Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
  6. ByVal nCmdShow As Long) As Long
  7.    Const SHOWMAXIMIZED_eSW = 1&
  8.  
  9.    '//Funciones API para obtener el handle de la aplicación que queremos meter en un picture
  10.    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  11. (ByVal lpClassName As String, _
  12. ByVal lpWindowName As String) As Long
  13.  
  14.    '//Ejecuta el programa
  15.    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
  16. ByVal lpOperation As String, _
  17. ByVal lpFile As String, _
  18. ByVal lpParameters As String, _
  19. ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  20.  
  21.    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
  22.    ByVal wMsg As Long, _
  23.    ByVal wParam As Long, _
  24.    lParam As Any) As Long
  25.  
  26.    Const WM_SYSCOMMAND = &H112
  27.    Const SC_CLOSE = &HF060&

Código
  1. Private Sub Command1_Click()
  2.    Dim hwnd As Long
  3.  
  4.       ShellExecute Me.hwnd, "Open", "D:\juegos listos para jugar\Lineage II\system\l2.exe", _
  5. "", "", 3
  6.  
  7.  
  8.    Espera (50) 'Espera cinco segundos a que se cargue
  9.    hwnd = FindWindow("l2UnrealWLog", vbNullString) 'Obtiene el handle padre
  10. Call SetParent(hwnd, Picture1.hwnd) 'Meter la apcliación en el picture
  11. Call ShowWindow(hwnd, SHOWMAXIMIZED_eSW) 'Lo ajusta al cuadro
  12.  


Título: Re: meter handler en un picture1 ayuda
Publicado por: tincopasan en 6 Julio 2016, 22:08 pm
me encantaría entender lo que preguntas.
Citar
y quisiera saber si en vez de ser por find-window,
puede ser por handrers...
supongo que te referís a handle y FindWindow justamente lo que hace es devolver el handle.

FindWindow function
Retrieves a handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows. This function does not perform a case-sensitive search.

según: https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx


Título: Re: meter handler en un picture1 ayuda
Publicado por: Eleкtro en 8 Julio 2016, 00:39 am
me encantaría entender lo que preguntas. supongo que te referís a handle y FindWindow justamente lo que hace es devolver el handle.

Creo que él se refiere a identificar la ventana mediante un handle de ventana el cual ya conoce, para así evitar tener que recurrir a la función FindWindow/FindWindowEx para buscar el handle de esa ventana mediante un string.

Creo que yo tampoco entiendo la pregunta, por que en caso de que ya conozcas el handle de ventana entonces solo deberías cambiar esto:
Código
  1. hwnd = FindWindow("l2UnrealWLog", vbNullString)

Por esto otro:
Código
  1. hwnd = el handle de ventana

Lo que es muy obvio, así que quizás no sea eso lo que estés preguntando...

Saludos


Título: Re: meter handler en un picture1 ayuda
Publicado por: elmatador2 en 8 Julio 2016, 07:08 am
gracias por responder chicos. a lo que me referia es a poner un handle, no un class id. o yo me explico mal seguramente jajja, me refiero a poner una ventana ya con una accion...