FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
no encuentra mi aplicacion FindWindow
se que algo debo estar haciendo mal estoy probando un teclado virtual y empece con el notepad
Var manejador : THandle; h: HWND; Begin h := FindWindow('Notepad', nil); if h = 0 then ShowMessage('No se encontro la Aplicacion') else begin SetForegroundWindow(h); y me funciono bien pero cuando en Findwindow cambie 'Notepad' por el nombre de mi aplicacion no funciona, inmediatamente me indica que no encontro la aplicacion, alguien sabra que estoy haciendo mal? de antemano les agradezco su tiempo, saludos! |
#2
|
||||
|
||||
Intentas hacer una aplicación que solo pueda ejecutarse en una sola instancia? Si es así, esa no es la forma recomendada de hacerlo. Los componentes Jedi incluyen un componente para hacer evitar que tu aplicación se ejecute más de una vez al mismo tiempo. El componente se llama JvgSingleInstance y sólo necesitas colocarlo en algún formulario de tu aplicación.
Saludos. |
#3
|
||||
|
||||
Prueba con esta función:
Llámala en el evento OnCreate del MainForm de tu aplicación, detectará si ya hay ejecutándose otra aplicación con el mismo título y te devolverá ese valor. Suerte. |
#4
|
||||
|
||||
Checa la ayuda Windows SDK
Ey amigo, checa la ayuda de Windows SDK (menú Help-> Windows SDK) y busca FindWindow.
Aqui nos dice: The FindWindow function retrieves the handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.
El primer parámetro de FindWindow es el nombre de la clase de la ventana que buscas y el segundo parámetro es el nombre o el caption de la ventana que buscas.
__________________
Herr Heins Faust |
#5
|
||||
|
||||
Hay dos formas de llamar a la función findWindows, como ya te han dicho.
* Utilizando Título de la ventana * Utilizando el nombre de la clase. Para el notepad has utilizado el nombre de la clase y te ha funcionado, ya que la ventana del Notepad tiene como nombre de clase "notepad". Si quieres utilizarlo con tu aplicación debes saber cual es el nombre de la clase del form que estás llamando; Para saberlo puedes utilizar varias utilizades (yo uso WinExplorer, aunque seguro que hay más). Si no puedes encontrar el nombre de la clase, siempre te queda utilizar el otro parámetro y llamar a la función FindWindows utilizando el título de la ventana, aunque esa forma creo que es menos segura.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
||||
|
||||
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duda sobre FindWindow | Faust | API de Windows | 3 | 30-08-2006 14:58:37 |
Problema con el FindWindow | lookmydoom | API de Windows | 3 | 22-07-2006 09:57:56 |
Encuentra los 5 (o mas) errores... | papulo | Varios | 10 | 16-09-2005 09:10:05 |
Problemas con FindWindow | Fita | API de Windows | 4 | 03-03-2004 19:14:00 |
Conocer el nombre de la aplicacion que se encuentra activa | cso2000 | Varios | 4 | 24-10-2003 02:28:14 |
|