home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code1 / end_task / entask.c < prev    next >
C/C++ Source or Header  |  1992-08-01  |  1KB  |  51 lines

  1. /* ENTASK.DLL -- Author Jeff Simms -- CIS 72200,3173 -- August 1, 1992 
  2.  
  3. Purpose - Subclass VB apps "invisible parent" and redirect WM_CLOSE sent by task list to VB apps form of choice.
  4.  
  5. Public Domain */
  6.  
  7. #include <windows.h>
  8. #include "entask.h"
  9.  
  10.  
  11. FARPROC  lpfnVBRTMainWndProc;
  12. HWND hvbmain,hvbform;
  13.  
  14. int FAR PASCAL WEP (int bSystemExit)
  15. {
  16.     return (1);
  17. }
  18.  
  19. VOID __export FAR PASCAL SetEndTaskHook(HWND hVBForm)
  20. {
  21.     hvbform = hVBForm;
  22.  
  23.     hvbmain = FindWindow("ThunderRTMain", NULL);
  24.  
  25.     lpfnVBRTMainWndProc = (FARPROC) SetWindowLong(hvbmain,GWL_WNDPROC,
  26.                      (DWORD)(FARPROC) MainFilterProc);
  27.  
  28. }
  29.  
  30.  
  31. VOID __export FAR PASCAL UndoEndTaskHook(int zero)
  32. {
  33.  
  34.     SetWindowLong(hvbmain,GWL_WNDPROC, (DWORD)(FARPROC) lpfnVBRTMainWndProc);
  35.  
  36. }
  37.  
  38.  
  39.  
  40. LONG __export FAR PASCAL MainFilterProc(HWND hWnd,unsigned wMsg,WORD wParam,LONG lParam)
  41. {
  42.  
  43.        if (wMsg == WM_CLOSE)
  44.     {
  45.     PostMessage(hvbform,WM_CLOSE,0,0);
  46.     return 0;
  47.     }
  48.  
  49.   return(CallWindowProc(lpfnVBRTMainWndProc,hWnd, wMsg, wParam, lParam));
  50. }
  51.