Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2011
farute farute is offline
Miembro
 
Registrado: feb 2010
Posts: 84
Poder: 15
farute Va por buen camino
Detectar ventana activa y variar su posición

Hola me gustaría saber como puedo detectar la ventana activa del programa que se sea que esté en primer plano de windows y cambiarle la posicion en la pantalla desde mi programa.
se que tiene que ser con algo de GetForegroundWindow pero sabeis de algún ejemplo que tenga por donde empezar?

Lo quiero porque tengo un tabletpc tactil de 10,1" con windows7 que tiene una resolución máxima de 1024x800 y algunos programas de los que necesito tienen un tamaño superior a los 800 pixeles y no puede acceder a las opciones de abajo.

Existe un programa que ya hace lo que pido para que veais la idea
http://www.youtube.com/watch?v=1MussK0okcs
el problema es que solo funciona con el ratón, yo necesitaría que se hiciese también por Touch gestures o poniendo un par de botones en pantalla para subir y bajar.

alguna idea

gracias

Última edición por farute fecha: 20-04-2011 a las 14:16:21.
Responder Con Cita
  #2  
Antiguo 20-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola farute.
Cita:
que se sea que esté en primer plano de windows
El ejemplo que hice no es exáctamente lo que solicitas ya que tenés que indicarle la aplicación y puede no ser la que esté en primer plano, pero supongo que te va a dar una idea de como implementarlo.

Código Delphi [-]
procedure SetWndCoord(WndName: string; X,Y: integer);
var
  Handle: THandle;
  wpPtr: TWindowPlacement;
  T: TRect;
begin
  Handle:= FindWindow(PChar(WndName), nil);
  if Handle <> 0 then
  begin
    GetWindowPlacement(Handle, @wpPtr);
    T:= wpPtr.rcNormalPosition;
    Inc(T.Left, X);
    Inc(T.Top, Y);
    wpPtr.rcNormalPosition:= T;
    SetWindowPlacement(Handle, @wpPtr);
  end
  else
    raise Exception.Create('Aplicación no encontrada');
end;

Llamadas de ejemplo:
Código Delphi [-]
  SetWndCoord('notepad',20,30);
  SetWndCoord('notepad',-15, -7);

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 20-04-2011 a las 15:50:11.
Responder Con Cita
  #3  
Antiguo 20-04-2011
farute farute is offline
Miembro
 
Registrado: feb 2010
Posts: 84
Poder: 15
farute Va por buen camino
Muchas gracias, creo que me servirá
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Detectar conexión tipo/activa taita Internet 3 13-05-2015 21:43:46
Capturar imagen de una ventana (que no es la activa) Neftali [Germán.Estévez] Gráficos 11 29-12-2006 12:03:42
Ventana Activa brandolin OOP 1 06-02-2006 23:46:43
Capturar ventana activa y guardarla StartKill Gráficos 4 15-10-2004 16:45:31
cual es la carpeta de la ventana activa chavetaz API de Windows 7 02-01-2004 21:24:31


La franja horaria es GMT +2. Ahora son las 14:20:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi