2009-07-08 9 views
2

Je voudrais écrire un utilitaire dans la veine de PowerMenu - il ajoute des trucs supplémentaires dans tous les menus de la fenêtre des applications (alt-espace, ce menu).Comment ajouter des éléments à tous les menus de la fenêtre de Windows?

Comment va-t-on faire cela?

+1

Juste s'il vous plaît essayer d'éviter de mettre vos éléments de menu en bas. Il n'y a rien que je déteste plus que des applications comme l'aide HTML qui met un menu "À propos" où je m'attends instinctivement à être proche. – Josh

+0

Ne vous inquiétez pas, cela me rend fou aussi. – Blorgbeard

+1

Regardez ici http://stackoverflow.com/questions/138616/how-to-add-custom-item-to-system-menu-in-c –

Répondre

1
  1. Injecter du code dans le processus de chaque fenêtre.
  2. Utilisez GetSystemMenu() dans le crochet pour récupérer que les fenêtres menu "alt-espace"
  3. Faites vos modifications
  4. Nettoyage

personnellement je l'utilise SetWindowsHookEx(), WH_CALLWNDPROC, et un CallWndProc pour atteindre l'étape 1 , nécessitant un appel à UnhookWindowsHookEx() à l'étape 4, et un peu de pompage de message personnalisé pour obtenir l'étape 2 roulement. C'est juste une préférence personnelle.

Questions connexes