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!

Était-ce utile?

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?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top