Y a-t-il moyen en C# d'ajouter globalement un élément de menu à tous les menus du système sur toutes les fenêtres actives? Peut-être sous la commande "Maximiser"?Modification des menus du système global
Répondre
Cela ne peut pas être fait en code managé. Et il serait remarquablement difficile même dans le code non-configuré. Fondamentalement, vous devez injecter votre code dans chaque processus, puis insérer des éléments dans les menus du système local, puis raccorder la fenêtre principale proc pour intercepter les messages WM_SYSCOMMAND afin que vous puissiez faire les éléments de menu faire quelque chose.
Vous pouvez écrire du code qui ajoutera le style WS_TOPMOST à (la plupart) des fenêtres (si la sécurité le permet) simplement en utilisant FindWindow
pour obtenir le handle de la fenêtre, puis SetWindowLong
pour changer le style de la fenêtre.
Mais vous ne serez pas en mesure de mettre l'interface utilisateur pour cela dans les menus système d'autres processus.
Merci pour la réponse John. Donc, la meilleure façon d'y arriver est d'écrire quelque chose comme Spy ++ qui vous permet de "sélectionner" une fenêtre, puis utiliser SetWindowLong sur cette fenêtre pour changer le style de la fenêtre? – Icemanind
oui, ce serait le chemin. –
Une manière élégante de faire ceci sans injection de code est décrite à http://stackoverflow.com/q/138616/103167 –
- 1. Modification du système d'axes OpenGL
- 2. objet Modification 'global' dans Node.js
- 3. Modification des dialogues au niveau du système: TimePicker, DatePicker
- 4. La modification des détails des types de contenu CCK entraîne de nombreux appels de BD pour le système de menus
- 5. Système de menus dynamique Asp.net MVC
- 6. Affichage des menus
- 7. Système de menus Drupal - Sortie d'un arbre vers le bas
- 8. cadre global de menus des ressources dans Joomla comme menu principal
- 9. Personnalisation des menus Cocos2D
- 10. Modification de root_dir sur un système magento
- 11. Système de navigation unifiée pour JSF (menus, chapelure, plan du site)
- 12. Modification de l'information système hudson java listée
- 13. Personnalisation du hook global Git
- 14. Modification des couleurs de menu Win32
- 15. Drupal: afficher des menus avec des vues?
- 16. Drupal: créer des menus hiérarchiques à partir du vocabulaire taxinomique
- 17. Modification du script d'arrêt
- 18. Alias bash global du script
- 19. Modification du chemin d'en-tête système et des fichiers d'en-tête personnalisés
- 20. Modification des couleurs du système pour une seule application (Windows, .NET)
- 21. Menus et sous-menus Problème?
- 22. crash du système après la déclaration de l'objet global de la classe
- 23. modification d'un menu existant pour des sous-menus à l'aide jquery
- 24. Pourquoi la glibc "timezone" global n'est-elle pas en accord avec l'heure du système sur DST?
- 25. menus wordpress comme les menus multi-niveaux
- 26. Comment lier des classes et des menus
- 27. Étendue du système dans l'analyse du système
- 28. question de sécurité: Modification du mot de passe du système via python
- 29. Modification des propriétés du champ hérité
- 30. Modification du nom d'hôte/de l'adresse IP du système Windows monté en tant qu'image
Si votre conception vous oblige à le faire, vous devez repenser votre conception. –
J'essaye d'écrire un programme qui me permettra d'épingler n'importe quelle fenêtre afin qu'elle soit toujours au-dessus de toutes les autres fenêtres. – Icemanind
Que se passe-t-il si l'utilisateur a une autre application qui utilise la même technique que celle utilisée pour mettre une fenêtre au-dessus, qui gagne? – BFree