2009-09-02 5 views

Répondre

4

Je vais supposer que, par "pointeur Win32 Window", vous voulez dire un hWnd.

Vous pouvez appeler Control.FromChildHandle() en fournissant votre hWnd en tant que paramètre. Si hWnd est associé à un contrôle .NET, vous recevrez, en tant que valeur de retour, une référence au contrôle .NET représentant le contrôle. Si hWnd n'est pas associé à un contrôle .NET, vous recevrez, comme valeur de retour, une valeur null.

pseudocode est la suivante:

Control AssociatedDotNetControl = 
    Control.FromChildHandle(Win32WindowPointerAshWnd); 

if(AssociatedDotNetControl != null) 
{ 
    // this is a .NET control 
} 
else 
{ 
    // this is not a .NET control 
} 
+0

court et intelligent! –

+0

Est-ce que cela fonctionne si le hWnd provient d'un autre programme? –

+0

Matt, je n'ai pas essayé cela spécifiquement, mais je devine que cela fonctionnerait en effet. – JeffFerguson

Questions connexes