Je vais vérifier si l'utilisateur déplace une fenêtre (mon application n'a pas d'interface) et répondre en conséquence. Que pensez-vous être la meilleure façon de faire cela? Puis-je déterminer si l'utilisateur clique sur une barre de titre? Puis-je déterminer si une fenêtre est déplacée? Je dois alors attraper le hWnd de la fenêtre après que je sais qu'il est déplacé.C# - Détermine si l'utilisateur déplace une fenêtre
Répondre
Voici une technique à spy sur les poignées de fenêtre. Vous pouvez inspecter toutes les poignées qui sont ouvertes et attendre les messages de déplacement.
EDIT
Pour obtenir des notifications pour toutes les fenêtres, et pas seulement celles de Windows Forms, vous devrez utiliser un ensemble de connexions défini par la fonction API SetWindowsHookEx(). Vous aurez besoin d'un crochet WH_CALLWNDPROC
afin que vous puissiez voir le message WM_MOVE que Windows envoie à la fenêtre.
Malheureusement, c'est un crochet global. Le code qui implémente le rappel de hook doit être empaqueté dans une DLL afin qu'il puisse être injecté dans tous les processus cibles. Cela crée un trou dans vos plans pour utiliser C# pour cela, vous ne pouvez pas injecter le CLR. La DLL doit être écrite en code non managé.
Cette code project offre une approche, y compris la DLL injectable non administrée dont vous aurez besoin.
- 1. Détermine si une fenêtre est visible ou non C#
- 2. Détermine si la fenêtre a été ouverte par window.showModalDialog?
- 3. php - Détermine si une image existe et si elle l'affiche
- 4. Détermine si l'URL absolu ou relatif
- 5. NSTextView détermine si NSTextAttachment est présent
- 6. Détermine si une fonction est disponible dans un module Python
- 7. Détermine si une liste Python est la même à 95%?
- 8. Lisp: Détermine si une liste contient un prédicat
- 9. Détermine si l'assemblage est signé avec Authenticode
- 10. Stylecop - Détermine si Double ou Float
- 11. ListView ItemDataBound - détermine si l'élément est AlternatingItem?
- 12. Détermine si un script s'exécute dans pythonw?
- 13. jQuery - Si je déplace un div avec le clavier
- 14. C# - Détermine à l'exécution si la propriété est une instance Type ou Object?
- 15. runtime détermine le type pour C
- 16. Déterminez si une fenêtre donnée est en cours de déplacement
- 17. Déterminer si une fenêtre est redimensionnable
- 18. GTK/GDK Comment savoir si une fenêtre est superposée par une autre fenêtre?
- 19. Silverlight - Détermine si un wma est protégé par DRM
- 20. Détermine si le contenu d'un élément HTML déborde
- 21. jQuery: détermine si l'objet jQuery est root tag html
- 22. Détermine si JList a un élément actuellement sélectionné
- 23. Silverlight: détermine si DataContext est hérité ou non
- 24. Détermine si un jet de dés contient certaines combinaisons?
- 25. L'automatisation de Word détermine si un signet est dans une table
- 26. Comment le système détermine si une DLL donnée est une DLL .NET?
- 27. R: détermine si un script s'exécute sous Windows ou Linux
- 28. Java: ArrayList: Détermine si l'entrée existe par son index
- 29. Créer une fenêtre carrée C++
- 30. C#: Comment tuer une fenêtre singleton
C'est un outil astucieux je l'ai utilisé une fois. Le projet était DOA, mais qui étais-je laisser passer l'occasion d'apprendre à espionner sur les applications. :-) –