• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1123
  • Last Modified:

Windows Hooks: Hooking a closing app

Hi all,
I've been working on this solution for quite some time. Im trying to display a message everytime an app closes. So far i have been able to code a program that displays a message every time an app closes using Win32 API's CBTProc Callback function

LRESULT CALLBACK CBTProc(int code, WPARAM wParam, LPARAM lParam)
{

      if(code == HCBT_DESTROYWND){
            ...            
      }
      
      return CallNextHookEx(... , .., .. , ..);
}

a was able to display a message "Closed!!" every time media player closed but it's a problem for winword.exe .. iexplore.exe and some of the program files items on the desktop.. when i execute these "Closed!!" appears before the window is exited by the user. Would anyone know how to properly hook applications using SetWindowsHookEx() API ?
0
ogoy
Asked:
ogoy
  • 2
1 Solution
 
anupvijayCommented:
Do you mean to say that without the user performing any action to close the window the hook gets the close event ?

I don't suppose so.Just checking.
I assume that the event is received just before the window is not visible anymore in case of IE,MS Word etc.....right?

Will WH_GETMESSAGE work for you instead of WH_CBT ? But yes you will get all the windows messages. You have
to apply a filter for WM_CLOSE i think.

Just thinking aloud..........the problem you are facing could be because the event is posted before the windows is actually
made invisible by the applications in question........again.....not sure...

Cheers.
0
 
ogoyAuthor Commented:
Thanks for replying. I was hoping email notifications for this forum would alert me for any posts but it didn't.. i tried CallWndProc, GetMsgProc.. and the rest of the win32 api for SetWindowsHookEx(..) but the "Closed!" message still appeared even when im not closing it..

Anyway i found a solution that required me to do a SetWindowLong(..) that opens a window handle to the activated window.. this allowed me to trap closing windows events properly.. the site i got the idea from was

www.venkydude.com/article.htm
0
 
anupvijayCommented:
Good for you.
Yeah I have also experience a long delay in the mail notification.But I generally get it some day :-)

All the best for your project
Cheers.
0
 
moduloCommented:
PAQed, with points refunded (250)

modulo
Community Support Moderator
0

Featured Post

Live webcast with Pinal Dave

Pinal Dave will teach you tricks to help identify the real root cause of database problems rather than red herrings. Attendees will learn scripts that they can use in their environment to immediately figure out their performance Blame Shifters and fix them quickly.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now