Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   OFNHookProc (https://www.clubdelphi.com/foros/showthread.php?t=61703)

Nora Armijos 18-11-2008 22:25:41

OFNHookProc
 
como implementar el procedimiento OFNHookProc.

Lepe 19-11-2008 00:22:26

Cita:

Empezado por Win32 Developer Reference
When you use the GetOpenFileName or GetSaveFileName functions to create an Explorer-style Open or Save As common dialog box, you can provide an OFNHookProc hook procedure. To enable the hook procedure, use the OPENFILENAME structure that you passed to the dialog creation function. Specify the pointer to the hook procedure in the lpfnHook member and specify the OFN_ENABLEHOOK flag in the Flags member.

Igual hay otra forma de hacer lo que pides, pero si eres tan escueto, no puedo decir más.

Saludos

Nora Armijos 19-11-2008 16:09:23

OFNHookProc
 
Hola Lepe, lo q estoy tratando de hacer es un hook al cuadro de dialogo Save As de una aplicacion externa incrustada en mi aplicacion q esta siendo desarrollada con delphi 7 y capturar el nombre q va a ser almancenado, investige y me llevo al OFNHOOKPROc pero realmente no entiendo la forma de implementar la funcion para hacer lo q necesito, si puedes darme una mano te lo agradecieria mucho.
Además encontre lo siguiente WH_SYSMSGFILTER,WM_INTDIALOGM,CDN_FILEOK.
y creo q es lo q necesito pero no se la manera de integrarlo. :confused:

Ayuda plis....

Lepe 19-11-2008 20:46:45

Pues olvídate de OFNHOOKPROC.

Porque es necesario crear la ventana de diálogo "Save As" con una llamada a GetSaveFilename y con ciertos parámetros para que funcione. Pero es la aplicación incrustada la que crea la ventana "Save As", así que no puedes tirar por ahí.

Hasta ahora sé lo siguiente:
- El TSaveDialog de delphi, hace una llamada a @GetSaveFilename
- la API GetSaveFilename es el que permite el hook y un callback en el parámetro que lleva.

Gracias por ampliar la pregunta. A ver que encuentro.


La franja horaria es GMT +2. Ahora son las 17:38:05.

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