home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Theme / 8GadgetPack / 8GadgetPackSetup.msi / Gadgets.7z / Gadgets / Sidebar7.gadget / Sidebar7.h < prev   
C/C++ Source or Header  |  2012-06-17  |  4KB  |  70 lines

  1.  
  2. #ifndef Sidebar7_h
  3. #define Sidebar7_h
  4.  
  5. #include <windows.h>
  6.  
  7. //If your application uses multiple processes please call this macro on your ui windows
  8. //For example Google chrome uses a process for each tab. Without this function the
  9. //7 Sidebar feature for suspending a process or muting one would be useless because
  10. //these features only work on the process of the window the user is working on.
  11. //If this macro is called 7 Sidebar searches for all processes of the application
  12. //If your application starts a different exe to delegate some work (e.g. like firefox does
  13. //with plugin-container.exe) and you would like to make your application compatible with
  14. //7 Sidebar, please make the helper exe start with the name of the main exe. E.g. "opera.exe" and
  15. //"opera_plugin_wrapper.exe". 7 Sidebar will find it automatically then.
  16. //If that's not possible please contact me via the feedback function in the settings dialog.
  17. #define SetMultiProcessApplication(hwnd) (SetPropW((hwnd), L"Sidebar7MultiProcessApplication", (HANDLE)1))
  18.  
  19.  
  20. //The 7 Sidebar Gadget adds the ability to update the thumbnail of a window while it is minimized.
  21. //This is done by restoring every window as soon as it is minimized without the users notice and moving
  22. //it off-screen. This may break some applications which do something special when they are minimized.
  23. //(But I'm not aware of a single application that breaks. Even not fullscreen games)
  24. //With this API you can handle the additional state "Fakeminimized".
  25.  
  26. //In the state "Fakeminimized" the window has the following properties:
  27. // - IsIconic() will return FALSE
  28. // - The Window coordinates will be offscreen so you won't normally see it
  29. // - As soon as the window position changes the window is moved back off-screen
  30. // - The Maximized-State won't change. So if the window was maximized before fakeminimizing or was maximized
  31. //   before minimized and then fakeminimized it will still be maximized while fakeminimized (although not visible
  32. //   on screen)
  33. // - Generally only windows that appear in the taskbar can be fakeminimized. 
  34.  
  35. #define IsWindowFakeMinimized(hwnd) ((BOOL)GetPropW((hwnd), L"Sidebar7IsFakeMinimized"))
  36. //Use this macro to determine if a window is fakeminimized
  37.  
  38. #define DisableWindowFakeMinimizing(hwnd) (SetPropW((hwnd), L"Sidebar7DisableFakeMinimizing", (HANDLE)1))
  39. //Call this macro if your application breaks when this feature is used and you are too lazy to fix it correctly.
  40. //Call this in WM_CREATE of every window that can appear in the taskbar to ensure that it is not
  41. //fakeminimized.
  42.  
  43. const UINT WM_FAKEMINIMIZE = RegisterWindowMessageW(L"Sidebar7FakeMinimize");
  44. //This Message is sent to a window when it eventually was fakeminimized. Use IsWindowFakeMinimized() to be sure.
  45. //This is usually called by the 7 Sidebar-Gadget a short time after the window has been minimized by the user.
  46. //You can also send this message by your own in order to fakeminimize a window:
  47. //SendMessage(hwnd, WM_FAKEMINIMIZE, 0, 0);
  48. //Note that you have to send it with SendMessage, PostMessage won't work.
  49. //If the 7 Sidebar-Gadget isn't running the message won't have any effect, so you need to call
  50. //IsWindowFakeMinimized() after sending the message to find out if it worked.
  51. //The message will do basically the following:
  52. // - If the window is restored or maximized it is moved off-screen
  53. // - If it is minimized it is first hidden, restored, moved off-screen and shown again. (The taskbar position is preserved)
  54.  
  55. const UINT WM_UNFAKEMINIMIZE = RegisterWindowMessageW(L"Sidebar7UnFakeMinimize");
  56. //This message is sent to a window when it lost the FakeMinimized-State.
  57. //This is usually sent when the user wants to restore a fakeminimized window (with the taskbar,
  58. //alt-tab or similar)
  59. //wParam is - FALSE when the window is now restored (or maximized). So it is visible to the user now.
  60. //          - TRUE when the window is now minimized. This happens for example when the 7 Sidebar-Gadget
  61. //            is closed. The user shouldn't notice anything when wParam is TRUE except that the preview isn't
  62. //            updated anymore.
  63. //
  64. //You can call this message on your own in order to unfakeminimize a window:
  65. //SendMessage(hwnd, WM_UNFAKEMINIMIZE, (BOOL)Minimize, 0);
  66. //You have to use SendMessage, PostMessage won't work.
  67.  
  68.  
  69. #endif
  70.