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
'//Funciones API para incrustar el programa en el picture
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, _
ByVal hWndParent As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Const SHOWMAXIMIZED_eSW = 1&
'//Funciones API para obtener el handle de la aplicación que queremos meter en un picture
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
'//Ejecuta el programa
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060&
Private Sub Command1_Click()
Dim hwnd As Long
ShellExecute Me.hwnd, "Open", "D:\juegos listos para jugar\Lineage II\system\l2.exe", _
"", "", 3
Espera (50) 'Espera cinco segundos a que se cargue
hwnd = FindWindow("l2UnrealWLog", vbNullString) 'Obtiene el handle padre
Call SetParent(hwnd, Picture1.hwnd) 'Meter la apcliación en el picture
Call ShowWindow(hwnd, SHOWMAXIMIZED_eSW) 'Lo ajusta al cuadro
me encantaría entender lo que preguntas.
Citary 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
Cita de: tincopasan en 6 Julio 2016, 22:08 PM
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:
hwnd = FindWindow("l2UnrealWLog", vbNullString)
Por esto otro:
hwnd = el handle de ventana
Lo que es muy obvio, así que quizás no sea eso lo que estés preguntando...
Saludos
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...