FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Auxilio para usar esta funcion sencilla
Amigos me encontré este código que sirve supuestamente para
colocar en foco y hasta adelante la aplicacion, como pueden ver pide de parametro un Thandle...supongo que de la ventana.. pero como lo obtengo??? Alguien sabe como? La cosa es usar la funcion a ver si sirve, pero no se bien como hacerlo. Alguna orientacion? function ForceForegroundWindow(wnd: THandle): Boolean; const SPI_GETFOREGROUNDLOCKTIMEOUT = $2000; SPI_SETFOREGROUNDLOCKTIMEOUT = $2001; var ForegroundThreadID: DWORD; ThisThreadID: DWORD; timeout: DWORD; begin if IsIconic(wnd) then ShowWindow(wnd, SW_RESTORE); if GetForegroundWindow = wnd then Result := True else begin // Windows 98/2000 doesn't want to foreground a window when some other // window has keyboard focus if ((Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion > 4)) or ((Win32Platform = VER_PLATFORM_WIN32_WINDOWS) and ((Win32MajorVersion > 4) or ((Win32MajorVersion = 4) and (Win32MinorVersion > 0)))) then begin // Code from Karl E. Peterson, www.mvps.org/vb/sample.htm // Converted to Delphi by Ray Lischner // Published in The Delphi Magazine 55, page 16 Result := False; ForegroundThreadID := GetWindowThreadProcessID(GetForegroundWindow, nil); ThisThreadID := GetWindowThreadPRocessId(wnd, nil); if AttachThreadInput(ThisThreadID, ForegroundThreadID, True) then begin BringWindowToTop(wnd); // IE 5.5 related hack SetForegroundWindow(wnd); AttachThreadInput(ThisThreadID, ForegroundThreadID, False); Result := (GetForegroundWindow = wnd); end; if not Result then begin // Code by Daniel P. Stasinski SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @timeout, 0); SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, TObject(0), SPIF_SENDCHANGE); BringWindowToTop(wnd); // IE 5.5 related hack SetForegroundWindow(Wnd); SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, TObject(timeout), SPIF_SENDCHANGE); end; end else begin BringWindowToTop(wnd); // IE 5.5 related hack SetForegroundWindow(wnd); end; Result := (GetForegroundWindow = wnd); end; end; { ForceForegroundWindow }
__________________
"Los unicos que no se equivocan son aquellos que no intentan hacer algo." Iván Caballero Cano... ivanhalen77@gmail.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con esta Función | Ledian_Fdez | Varios | 11 | 30-04-2010 18:03:45 |
¿Que tipo de dato usar para definir un campo con esta caracteristica? | K-ba | Varios | 2 | 30-01-2008 11:12:36 |
Instrucción sencilla para contar los campos de una tabla paradox | David | OOP | 1 | 23-10-2006 13:35:07 |
Funcion para saber si un registro .dbf esta bloqueado ( en red no me funciona ) | Wonni | Conexión con bases de datos | 7 | 06-10-2006 18:49:32 |
Sintaxis de esta Función | cmgenny | Varios | 5 | 11-05-2003 06:43:01 |
|