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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Abrir Soft dentro de mi Form..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Abrir Soft dentro de mi Form..  (Leído 4,787 veces)
Pitoniso

Desconectado Desconectado

Mensajes: 118


Ver Perfil
Abrir Soft dentro de mi Form..
« en: 17 Noviembre 2006, 15:12 pm »

Pos eso gente quiero ejecutar un Soft desde mi programa...o sea no es ejecutarlo y ya, mas bien hacer que trabaje sobre mi Programa...como si fuese un FOrm mas...algo asi...

Espero que me hallan entendido...


En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Abrir Soft dentro de mi Form..
« Respuesta #1 en: 17 Noviembre 2006, 23:04 pm »

en el visual 5, viene un ejemplo de como ejecutar la calculadora de windows dentro de un MDIForm, deberias de revisarlo.


En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Pitoniso

Desconectado Desconectado

Mensajes: 118


Ver Perfil
Re: Abrir Soft dentro de mi Form..
« Respuesta #2 en: 19 Noviembre 2006, 23:12 pm »

mas datosss
En línea

-POLACO-

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: Abrir Soft dentro de mi Form..
« Respuesta #3 en: 21 Noviembre 2006, 04:46 am »

Hola viejo aca te dejo un code de El Guille ,yo lo recorte bastante y funciona joya.
Podes ejecutar cualquier .exe dentro del picture.
En Un form pones 1 picture box="picR" y un boton="Command1" .
El codigo completo va en el Formulario chao espero te sirva .-.


Código:
Option Explicit

Private objDer As PictureBox
Private hndNotepad As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'------------------------------------------------------------------------------
' APIS para incluir las ventanas en un PictureBox
'------------------------------------------------------------------------------

' Para hacer ventanas hijas
Private Declare Function SetParent Lib "user32" _
    (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
'
' Para mostrar una ventana según el handle (hwnd)
' ShowWindow() Commands
Private Enum eShowWindow
    HIDE_eSW = 0&
    SHOWNORMAL_eSW = 1&
    NORMAL_eSW = 1&
    SHOWMINIMIZED_eSW = 2&
    SHOWMAXIMIZED_eSW = 3&
    MAXIMIZE_eSW = 3&
    SHOWNOACTIVATE_eSW = 4&
    SHOW_eSW = 5&
    MINIMIZE_eSW = 6&
    SHOWMINNOACTIVE_eSW = 7&
    SHOWNA_eSW = 8&
    RESTORE_eSW = 9&
    SHOWDEFAULT_eSW = 10&
    MAX_eSW = 10&
End Enum

Private Declare Function ShowWindow Lib "user32" _
    (ByVal hWnd As Long, ByVal nCmdShow As eShowWindow) As Long
'
' Para posicionar una ventana según su hWnd
Private Declare Function MoveWindow Lib "user32" _
    (ByVal hWnd As Long, ByVal x As Long, ByVal y As Long, _
    ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
'
' Para saber si una ventana es hija de otra
Private Declare Function IsChild Lib "user32" _
    (ByVal hWndParent As Long, ByVal hWnd As Long) As Long

Private Type POINTAPI
    x As Long
    y As Long
End Type
Private Type RECTAPI
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Type WINDOWPLACEMENT
    Length As Long
    Flags As Long
    ShowCmd As Long
    ptMinPosition As POINTAPI
    ptMaxPosition As POINTAPI
    rcNormalPosition As RECTAPI
End Type

Private Declare Function GetWindowPlacement Lib "user32" _
    (ByVal hWnd As Long, ByRef lpwndpl As WINDOWPLACEMENT) As Long

' Mostrar el formulario indicado, dentro de picDock
Private Sub dockForm(ByVal formhWnd As Long, _
                     ByVal picDock As PictureBox, _
                     Optional ByVal ajustar As Boolean = True)
    ' Hacer el formulario indicado, un hijo del picDock
    ' Si Ajustar es True, se ajustará al tamaño del contenedor,
    ' si Ajustar es False, se quedará con el tamaño actual.
    Call SetParent(formhWnd, picDock.hWnd)
    posDockForm formhWnd, picDock, ajustar
    Call ShowWindow(formhWnd, NORMAL_eSW)
End Sub

' Posicionar el formulario indicado dentro de picDock
Private Sub posDockForm(ByVal formhWnd As Long, _
                        ByVal picDock As PictureBox, _
                        Optional ByVal ajustar As Boolean = True)
    ' Posicionar el formulario indicado en las coordenadas del picDock
    ' Si Ajustar es True, se ajustará al tamaño del contenedor,
    ' si Ajustar es False, se quedará con el tamaño actual.
    Dim nWidth As Long, nHeight As Long
    Dim wndPl As WINDOWPLACEMENT
    '
    If ajustar Then
        nWidth = picDock.ScaleWidth \ Screen.TwipsPerPixelX
        nHeight = picDock.ScaleHeight \ Screen.TwipsPerPixelY
    Else
        ' el tamaño del formulario que se va a posicionar
        Call GetWindowPlacement(formhWnd, wndPl)
        With wndPl.rcNormalPosition
            nWidth = .Right - .Left
            nHeight = .Bottom - .Top
        End With
    End If
    Call MoveWindow(formhWnd, 0, 0, nWidth, nHeight, True)
End Sub

Private Sub Command1_Click()

    Call Shell("calc.exe", vbNormalFocus) '<<<Podes cambiar por el programa que quieras vos
    '
    Dim s As String
   
    'hndNotepad = FindWindow(s, "Sin título - Bloc de notas")
    hndNotepad = FindWindow(s, "Calculadora") '<<<<--Titulo de la Ventana
    'si es false se ve el exe tal cual es             LEERRRR
    'si es true se ajusta a la ventana bakan
    dockForm hndNotepad, objDer, False
End Sub



Private Sub Form_Load()
   
    Set objDer = picR
   
End Sub



Podemos ser lo mejor y tambien lo peor con la misma facilidad.   Bersuit Vergarabat -POLACO-

En línea

Pitoniso

Desconectado Desconectado

Mensajes: 118


Ver Perfil
Re: Abrir Soft dentro de mi Form..
« Respuesta #4 en: 21 Noviembre 2006, 05:33 am »

Hola viejo aca te dejo un code de El Guille ,yo lo recorte bastante y funciona joya.
Podes ejecutar cualquier .exe dentro del picture.
En Un form pones 1 picture box="picR" y un boton="Command1" .
El codigo completo va en el Formulario chao espero te sirva .-.


Código:
Option Explicit

Private objDer As PictureBox
Private hndNotepad As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'------------------------------------------------------------------------------
' APIS para incluir las ventanas en un PictureBox
'------------------------------------------------------------------------------

' Para hacer ventanas hijas
Private Declare Function SetParent Lib "user32" _
    (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
'
' Para mostrar una ventana según el handle (hwnd)
' ShowWindow() Commands
Private Enum eShowWindow
    HIDE_eSW = 0&
    SHOWNORMAL_eSW = 1&
    NORMAL_eSW = 1&
    SHOWMINIMIZED_eSW = 2&
    SHOWMAXIMIZED_eSW = 3&
    MAXIMIZE_eSW = 3&
    SHOWNOACTIVATE_eSW = 4&
    SHOW_eSW = 5&
    MINIMIZE_eSW = 6&
    SHOWMINNOACTIVE_eSW = 7&
    SHOWNA_eSW = 8&
    RESTORE_eSW = 9&
    SHOWDEFAULT_eSW = 10&
    MAX_eSW = 10&
End Enum

Private Declare Function ShowWindow Lib "user32" _
    (ByVal hWnd As Long, ByVal nCmdShow As eShowWindow) As Long
'
' Para posicionar una ventana según su hWnd
Private Declare Function MoveWindow Lib "user32" _
    (ByVal hWnd As Long, ByVal x As Long, ByVal y As Long, _
    ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
'
' Para saber si una ventana es hija de otra
Private Declare Function IsChild Lib "user32" _
    (ByVal hWndParent As Long, ByVal hWnd As Long) As Long

Private Type POINTAPI
    x As Long
    y As Long
End Type
Private Type RECTAPI
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Type WINDOWPLACEMENT
    Length As Long
    Flags As Long
    ShowCmd As Long
    ptMinPosition As POINTAPI
    ptMaxPosition As POINTAPI
    rcNormalPosition As RECTAPI
End Type

Private Declare Function GetWindowPlacement Lib "user32" _
    (ByVal hWnd As Long, ByRef lpwndpl As WINDOWPLACEMENT) As Long

' Mostrar el formulario indicado, dentro de picDock
Private Sub dockForm(ByVal formhWnd As Long, _
                     ByVal picDock As PictureBox, _
                     Optional ByVal ajustar As Boolean = True)
    ' Hacer el formulario indicado, un hijo del picDock
    ' Si Ajustar es True, se ajustará al tamaño del contenedor,
    ' si Ajustar es False, se quedará con el tamaño actual.
    Call SetParent(formhWnd, picDock.hWnd)
    posDockForm formhWnd, picDock, ajustar
    Call ShowWindow(formhWnd, NORMAL_eSW)
End Sub

' Posicionar el formulario indicado dentro de picDock
Private Sub posDockForm(ByVal formhWnd As Long, _
                        ByVal picDock As PictureBox, _
                        Optional ByVal ajustar As Boolean = True)
    ' Posicionar el formulario indicado en las coordenadas del picDock
    ' Si Ajustar es True, se ajustará al tamaño del contenedor,
    ' si Ajustar es False, se quedará con el tamaño actual.
    Dim nWidth As Long, nHeight As Long
    Dim wndPl As WINDOWPLACEMENT
    '
    If ajustar Then
        nWidth = picDock.ScaleWidth \ Screen.TwipsPerPixelX
        nHeight = picDock.ScaleHeight \ Screen.TwipsPerPixelY
    Else
        ' el tamaño del formulario que se va a posicionar
        Call GetWindowPlacement(formhWnd, wndPl)
        With wndPl.rcNormalPosition
            nWidth = .Right - .Left
            nHeight = .Bottom - .Top
        End With
    End If
    Call MoveWindow(formhWnd, 0, 0, nWidth, nHeight, True)
End Sub

Private Sub Command1_Click()

    Call Shell("calc.exe", vbNormalFocus) '<<<Podes cambiar por el programa que quieras vos
    '
    Dim s As String
   
    'hndNotepad = FindWindow(s, "Sin título - Bloc de notas")
    hndNotepad = FindWindow(s, "Calculadora") '<<<<--Titulo de la Ventana
    'si es false se ve el exe tal cual es             LEERRRR
    'si es true se ajusta a la ventana bakan
    dockForm hndNotepad, objDer, False
End Sub



Private Sub Form_Load()
   
    Set objDer = picR
   
End Sub



Podemos ser lo mejor y tambien lo peor con la misma facilidad.   Bersuit Vergarabat -POLACO-



Como bien dices es una joya, ahora el tratamiento de las ventanas con el findwindow no puede hacerse por ejemplo con un proceso X, o sea q lo busque y revise si el mismo tiene alguna ventana abierta....y si la tiene que la oculte en este caso...

saludos..

dime si sabes trabajar con el reg e windows...
En línea

-POLACO-

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: Abrir Soft dentro de mi Form..
« Respuesta #5 en: 23 Noviembre 2006, 04:11 am »

Disculpa pero no entendi bien cuando decis  "Proceso X" ¿¿no te referis a un servicio no ??
Si No es un servicio podes poner un timer que chequee cada x tiempo si el titulo de la ventana de tu "Proceso X" existe .
Si existe ahi tenes el handle de la ventana ,no se si podras ocultarlo pero terminarlo si que podras.

Hay otra manera que te da todas las ventanas activas con su respectivo handle(Lista todas las ventanas).

Me preguntas si se trabajar con el registro del win ,SI se.

Si podes explicate mejor con algun ejemplo de ¿ que queres que haga tu programa ? con respecto a los datos que pueda sacar del "Proceso X" .

El Proceso X ,es otro programa hecho por vos ??
Un saludo
En línea

Pitoniso

Desconectado Desconectado

Mensajes: 118


Ver Perfil
Re: Abrir Soft dentro de mi Form..
« Respuesta #6 en: 23 Noviembre 2006, 15:31 pm »

Disculpa pero no entendi bien cuando decis  "Proceso X" ¿¿no te referis a un servicio no ??
Si No es un servicio podes poner un timer que chequee cada x tiempo si el titulo de la ventana de tu "Proceso X" existe .
Si existe ahi tenes el handle de la ventana ,no se si podras ocultarlo pero terminarlo si que podras.

Hay otra manera que te da todas las ventanas activas con su respectivo handle(Lista todas las ventanas).

Me preguntas si se trabajar con el registro del win ,SI se.

Si podes explicate mejor con algun ejemplo de ¿ que queres que haga tu programa ? con respecto a los datos que pueda sacar del "Proceso X" .

El Proceso X ,es otro programa hecho por vos ??
Un saludo

Si bueno en unas de mis explicaciones en otro Tema era que desde mi soft, hago un llamado mediante el Shell en conjunto de unos parametros que admite el soft externo y el mismo me responde con una serie de eventos que no dejan de estar al alcance de ser controlados o supervisados, como algun mensaje de advertencia, error, en fin, lo que sucede es que normalmente el muestra una ventana con informacion delicada que no me cuadra que se muestre por eso vengo a ocultarlo...tambien dicha ventana por X motivos quizas se le pase un parametro mal u algo puede demorarse en mostrarse por lo que tengo que tener mucho cuidado a la hora de buscarla para que se me oculte, si pense en un Timer solo que se me vino a la mente que como una especie de escaneo para saber si el mismo tiene una o varias ventanas activas y ocultarlas...no buscar una o unas especificamente...

Necesito agregar un fichero .Reg.. al Registro de Windows, estuve trasteando la Api RegLoadKey despues de un mete y saca no logre hacer nada pero segun estuve leyendo sus caracteristicas y me dice que no puedo agregar nada al HKEY_CURRENT_USER.... bueno tirame un ojito ahi haber que onda....si quieres te busco el escrito que lei de la misma ayuda del Visual Basic...espero por ti...thx
En línea

-POLACO-

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: Abrir Soft dentro de mi Form..
« Respuesta #7 en: 24 Noviembre 2006, 06:01 am »

Echale un vistazo a este post aver si te sirve
[urhttp://foro.elhacker.net/index.php/topic,101303.0.htmll][/url]
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Redimensionar componente dentro de form
.NET (C#, VB.NET, ASP)
NetJava 2 2,890 Último mensaje 17 Noviembre 2011, 10:21 am
por NetJava
AYUDA abrir soft desde otro
Ingeniería Inversa
ratamesi 2 2,241 Último mensaje 23 Mayo 2013, 02:17 am
por apuromafo CLS
Abrir pagina dentro de div. Ayuda
Desarrollo Web
70N1 1 2,065 Último mensaje 18 Julio 2013, 21:56 pm
por 70N1
Abrir Chrome dentro de un form
Programación Visual Basic
NsTeam 4 8,572 Último mensaje 3 Febrero 2015, 13:49 pm
por okik
Abrir ejecutable en un form - ¿Es posible abrir Chrome? « 1 2 3 »
Programación Visual Basic
NsTeam 27 17,971 Último mensaje 17 Febrero 2015, 19:56 pm
por okik
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines