Y at-il une API Win32 pour vérifier si un handle donné appartient au processus en cours?Vérifiez si le handle appartient au processus en cours?
3
A
Répondre
2
A partir d'une poignée de fenêtre, vous pouvez utiliser GetWindowThreadProcessId Function pour obtenir l'ID de processus.
d'un processus poignée vous obtenez l'identifiant avec GetProcessId Function.
Je ne sais pas combien il est facile d'obtenir une poignée de processus d'une autre poignée. Mais je crois que cela aura à voir avec l'énumération kernel objects.
+1
Les poignées de fenêtre ne sont pas des objets noyau. Ils sont gérés par Win32 avec user32.dll en mode utilisateur. –
1
Un handle peut "appartenir" à plus d'un processus (poignées héritées dans le processus enfant, etc.)
Questions connexes
- 1. Obtenir le processus en cours donné handle de processus
- 2. Vérifiez si le service est en cours d'exécution dans WiX
- 3. Vérifiez si le service est en cours d'exécution?
- 4. Vérifiez si le son est en cours de lecture
- 5. Vérifiez si l'application IIS est en cours d'exécution sans l'exécuter
- 6. Vérifiez si l'application est déjà en cours d'exécution
- 7. Détection si un processus est toujours en cours
- 8. Vérifiez si un proc stocké est en cours d'exécution?
- 9. Vérifiez si l'utilisateur du processus est un administrateur C++
- 10. C#: trouver le processus en cours
- 11. Sharepoint: savoir si l'utilisateur actuel appartient au groupe spécifié
- 12. Comment trouver si un utilisateur Windows appartient au groupe spécifié?
- 13. Comment savoir si un processus est en cours d'exécution sur un périphérique mobile
- 14. Vérifiez si un thread Win32 est en cours d'exécution ou en mode suspendu
- 15. Comment déterminer si le code .NET est en cours d'exécution dans un processus ASP.NET?
- 16. Vérifiez si le fichier distant existe
- 17. Vérifiez si un répertoire existe en PHP
- 18. Obtenez l'utilisation du processeur en cours de processus en C
- 19. Débogage d'un processus python en cours d'exécution
- 20. Vérifiez si le LButton de souris est en panne?
- 21. Liste des processus en cours d'exécution
- 22. Vérifiez si le service WCF existe
- 23. Vérifiez si le nom d'utilisateur existe
- 24. Vérifiez si le fichier existe ou non?
- 25. Vérifiez si le paquet Python est installé
- 26. Comment vérifier si un processus est en cours d'exécution dans le gestionnaire de tâches avec python
- 27. Impossible de masquer un processus en cours dans le terminal
- 28. processus en cours d'exécution, étape par étape
- 29. Charge CPU du processus en cours
- 30. Attacher automatiquement le processus enfant au débogueur
Quel type de poignée? –
Je voudrais dire "tout" mais j'ai l'impression que cela rendrait cela impossible ou beaucoup plus difficile. Donc, je vais me contenter d'une poignée de fenêtre :) – TheCodeJunkie
Poignées de fenêtre selon la réponse actuelle. Tout type de poignée de noyau - comme une poignée de fichier? Les handles de noyau sont implémentés en tant qu'index de tableau dans une table de handles par processus. Donc, ils auront des valeurs comme "1" ou "2". Ce qui signifie qu'il n'y a aucun moyen sensé de déterminer à quel processus appartient un pseudo-noyau: - ils n'ont de sens que dans le contexte de leur propre processus. –