Obtenez poignée de fenêtre de la fenêtre d'appel
Question
il y a un logiciel qui appelle une méthode dans mon dll C #. Dans cette méthode dll je dois avoir la poignée de la fenêtre du programme / fenêtre qui a appelé mon dll.
comment obtenir ce "appeler la poignée de fenêtre"?
Merci!
La solution
Cela peut retourner la poignée de la fenêtre principale.
System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
Comme je sais qu'il n'y a aucun moyen d'obtenir une fenêtre en béton, car il n'y a pas de plus que l'objet de formulaire.
Mais la classe Form a une Handle
de propriété. Vous pouvez le transmettre comme argument pour dll appels de méthode.
Autres conseils
Vous ne pouvez pas:. Fenêtres ne remettent pas les méthodes, le code appelle des méthodes
Vous devez idéalement ajouter un paramètre de poignée de fenêtre à votre méthode. Si c'est tout à fait impossible, vous pouvez utiliser, par exemple, la fonction API GetActiveWindow
pour obtenir la fenêtre active sur le fil en cours. Ce n'est pas garanti au travail; peut-être il n'y a pas de fenêtres ouvertes.
Qu'est-ce que vous avez besoin de la poignée de fenêtre?