2

HI

I have an application written in Delphi 2006. I have noticed that when running under windows 7 the application does not receive the WM_SYSCOMMAND message from Aero Shake. However if I run the application as administrator then it does receive the WM_SYSCOMMAND when performing Aero Shake.

I've tried calling ChangeWindowMessageFilter for WM_SYSCOMMAND and get a result of True indicating that the call succeeded but I still can't get the WM_SYSCOMMAND message frmo Aero Shake.

Does anyone know why and how I can fix this?

Thank you

There is no spoon
  • 1,775
  • 2
  • 22
  • 53
  • You don't receive a WM_SYSCOMMAND, or you get one but fail to test against a particular command i.e. SC_MINIMIZE? – Sertac Akyuz Sep 07 '10 at 01:01
  • I dont receive the WM_SYSCOMMAND. Basically I'm trying to get my Delphi 2006 SDI application to properly respond to Aero shake, when shaking, for example, notepad. It all works fine when run as administrator, i.e. 3D flip sends WM_SYSCOMMAND with SC_MINIMIZE/SC_RESTORE. However when not run as administrator 3D flip does not send the WM_SYSCOMMAND, or its being filtered out by windows. I suspect its just not being sent by 3D flip, because, using a test app, I send WM_SYSCOMMAND to my main app, and it was received. What can I do about this? Can i programmically start my app as admin? – There is no spoon Sep 07 '10 at 01:49

2 Answers2

0

This discussion of the behaviour of AeroSnap/Shake in the presence (or otherwise) of MOVE message handling and/or specific window frame styles may provide some assistance.

Community
  • 1
  • 1
Deltics
  • 22,162
  • 2
  • 42
  • 70
0

I've solved this, in order to get the WM_SYSCOMMAND message you need to elevate the application to at least highestAvailable using an application manifest. After doing this everything works perfectly except that you now get the elevation confirmation dialog when starting the application.

There is no spoon
  • 1,775
  • 2
  • 22
  • 53