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)
| | | | |-+  Ayuda con AppActivate
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con AppActivate  (Leído 9,344 veces)
NsTeam

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Ayuda con AppActivate
« en: 15 Junio 2009, 04:10 am »

weno lo que quisiera saber es que

cual es el codigo para que appactivate No simplemente se active en

dicha ventana

sino que se active en cual quier ventana de windows

Ejemplo:

AppActivate "Bloc de notas"

Que se active No solo en el bloc de notas

sino en cualquier ventana de windows

Espero Sus respuestas =)


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Ayuda con AppActivate
« Respuesta #1 en: 15 Junio 2009, 04:15 am »

Usa FindWindows o FindWindowsEX (Algo asi se encribia jojo) despues pasale SetForegroundWindow

Correcion:

FindWindow o FindWindowEx (Para obtener el Handle)
SetForegroundWindow (Para traerla al frente)

P.D.: revisa la Api-Guide para saber como usarlas si no sabes...¡!

Dulces Lunas.¡!


« Última modificación: 15 Junio 2009, 04:28 am por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Ayuda con AppActivate
« Respuesta #2 en: 15 Junio 2009, 04:33 am »

GetActiveWindow()
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: Ayuda con AppActivate
« Respuesta #3 en: 15 Junio 2009, 12:26 pm »

Sumado a lo que te indican:

SetForegroundWindow       'pone la ventana en el primer plano y se activa
GetForegroundWindow()     'Devuelve el manejador de la ventana activa
GetWindowText                 'Obtiene el título
GetWindowRect                 'Obtiene dimenciones
IsIconic                            'IsIconic retorna 0 si la ventana No está minimizada


S2








« Última modificación: 15 Junio 2009, 12:57 pm por Dessa » En línea

Adrian Desanti
NsTeam

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: Ayuda con AppActivate
« Respuesta #4 en: 15 Junio 2009, 14:45 pm »

el codigo que tengo es este

Private Sub Command1_Click()
If Option1 = True Then
AppActivate "Bloc de Notas"
SendKeys "%(a)+(l)", True
End If
End Sub

Entonces en vez de Bloc de Notas

POngo que Codigo que me dijieron?
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: Ayuda con AppActivate
« Respuesta #5 en: 15 Junio 2009, 15:16 pm »

Código:

Option Explicit

Private Declare Function SetForegroundWindow Lib "USER32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Private Sub Command1_Click()

If Option1 = True Then Call SetForegroundWindow(FindWindow("notepad", vbNullString))

End Sub




S2


En línea

Adrian Desanti
byway

Desconectado Desconectado

Mensajes: 181


^^,


Ver Perfil
Re: Ayuda con AppActivate
« Respuesta #6 en: 15 Junio 2009, 18:22 pm »

IsIconic                            'IsIconic retorna 0 si la ventana No está minimizada

Aprovechando el tema .. ahora que lo estoy leyendo me gustaria ponerle esa opcion de cuando este minimizado y se quiera abrir otra vez el mismo exe, se maximize el que esta abierto, algo asi como el messenger.

pensaba hacerlo con FindWindow y lo demas, pero vi un ejemplo que no usa tanto de apis,  usando el nombre del exe,   pero si este cambia no sirve, y para ello pienso usar la funcion CreateMutex en lugar de un simple App.PrevInstance, a lo que iva eso de IsIconic  me serviria para detectar si esta minimizado la ventana, o si hay alguna otra manera de hacer lo mismo, por cierto aun no reviso sobre el tema este .. recien lo vi aqui y me acorde  ;D ;D ;D .

Saludos.

 Edit: ya encontre .. y si esa es para lo que quiero me tomo solo unos segundos con san Google.
« Última modificación: 15 Junio 2009, 18:30 pm por byway » En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: Ayuda con AppActivate
« Respuesta #7 en: 15 Junio 2009, 18:45 pm »

No entendí bien la pregunta pero si  es para una aplicacion tuya podes usar la propiedad WindowState del formulario, y si es para una externa podes usar IsIconic


Código:
Option Explicit
Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOWNORMAL = 1

Private Sub Command1_Click()

  If FindWindow("notepad", vbNullString) = 0 Then
      MsgBox "Notepad cerrado"
      Shell "notepad", vbNormalFocus
  Else
      If IsIconic(FindWindow("notepad", vbNullString)) = 0 Then
        MsgBox "Notepad no esta minimizado"
        'Call SetForegroundWindow(FindWindow("notepad", vbNullString))
      Else
        MsgBox "Notepad minimizado"
        'Call ShowWindow(FindWindow("notepad", vbNullString), SW_SHOWNORMAL)
        'Call SetForegroundWindow(FindWindow("notepad", vbNullString))
      End If
  End If

End Sub



S2

 
« Última modificación: 15 Junio 2009, 18:56 pm por Dessa » En línea

Adrian Desanti
byway

Desconectado Desconectado

Mensajes: 181


^^,


Ver Perfil
Re: Ayuda con AppActivate
« Respuesta #8 en: 16 Junio 2009, 03:40 am »

No entendí bien la pregunta pero si  es para una aplicacion tuya podes usar la propiedad WindowState del formulario, y si es para una externa podes usar IsIconic

es la misma aplicacion pero para una nueva instancia, pero para que no se ejecute y en lugar de eso maximize la actual... algo asi como para que no se ejecute el mismo exe varias veces .. se suele usar el App.PrevInstance o algo mejor la funcion API CreateMutex por si le cambian el nombre al exe.
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: Ayuda con AppActivate
« Respuesta #9 en: 16 Junio 2009, 11:50 am »

es la misma aplicacion pero para una nueva instancia, pero para que no se ejecute y en lugar de eso maximize la actual... algo asi como para que no se ejecute el mismo exe varias veces .. se suele usar el App.PrevInstance o algo mejor la funcion API CreateMutex por si le cambian el nombre al exe.

Ahora si, si buscas en el foro creo que hay un code alternativo de Karcrack.

S2


EDIT:
http://foro.elhacker.net/programacion_vb/srcmaltmutexbas_alternativa_a_createmutex-t243771.0.html;msg1171506;topicseen

S2
« Última modificación: 16 Junio 2009, 12:01 pm por Dessa » En línea

Adrian Desanti
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines