2010-09-07 7 views
2

HIПомогите пожалуйста - WM_SYSCOMMAND сообщение от Aero Shake/3D флип

У меня есть приложение, написанное на Delphi 2006. Я заметил, что при работе под окнами 7 приложение не получает сообщение WM_SYSCOMMAND от Aero Shake. Однако, если я запускаю приложение как администратор, он получает WM_SYSCOMMAND при выполнении Aero Shake.

Я попытался вызвать ChangeWindowMessageFilter для WM_SYSCOMMAND и получить результат True, указывающий, что вызов преуспел, но я все еще не могу получить сообщение WM_SYSCOMMAND frmo Aero Shake.

Кто-нибудь знает, почему и как я могу это исправить?

Спасибо

+0

Вы не получаете WM_SYSCOMMAND, или получаете его, но не можете проверить конкретную команду, то есть SC_MINIMIZE? –

+0

Я не получаю WM_SYSCOMMAND. В основном я пытаюсь заставить приложение Delphi 2006 SDI правильно реагировать на дрожание Aero при встряхивании, например, в блокноте. Все работает отлично, когда запускается как администратор, т. Е. 3D-флип отправляет WM_SYSCOMMAND с SC_MINIMIZE/SC_RESTORE. Однако, когда он не запускается как администратор, 3D-флип не отправляет WM_SYSCOMMAND или его отфильтровывают окна. Я подозреваю, что его просто не отправил 3D-флип, потому что, используя тестовое приложение, я отправляю WM_SYSCOMMAND в основное приложение, и оно было получено. Что я могу сделать по этому поводу? Могу ли я программировать приложение в качестве администратора? –

ответ

0

Я решил это, чтобы получить сообщение WM_SYSCOMMAND, вам нужно поднять приложение по крайней мере до максимума с помощью манифеста приложения. После этого все работает отлично, за исключением того, что вы теперь получаете диалог подтверждения высоты при запуске приложения.

+0

http://msdn.microsoft.com/en-us/library/bb756929.aspx – 2010-12-13 15:05:06

 Смежные вопросы

  • Нет связанных вопросов^_^