2009-12-23 6 views
20

Comment puis-je obtenir la poignée de fenêtre en donnant le nom du processus ou titre de la fenêtre en C# .. étant donné le processus en cours d'exécution est déjàComment obtenir le handle de fenêtre en donnant le nom du processus en cours?

+2

Voir cela pour obtenir les fenêtres enfants: http://stackoverflow.com/questions/79111/net-c-getting-child-windows-when-you-only-have-a-process-handle-or -pid/79205 # 79205 –

+0

Vous supposez qu'un processus n'a qu'une seule fenêtre. Hypothèse non valide. –

Répondre

35

Vous pouvez utiliser la classe Process.

Process[] processes = Process.GetProcessesByName("someName"); 

foreach (Process p in processes) 
{ 
    IntPtr windowHandle = p.MainWindowHandle; 

    // do something with windowHandle 
} 
+1

+1. Bonne réponse. Cela fonctionnera si c'est la poignée de la fenêtre principale qui est nécessaire. – David

+8

Notez que MainWindowHandle renvoie 0 si la fenêtre principale est masquée ... –

+0

existe-t-il un moyen de le faire en Java? –

Questions connexes