2009-06-24 4 views
1

Je regardais un code qu'un autre développeur a écrit et trouvé ceci:Qu'est-ce que "ShowWindow Lib" user32 "" à propos de?

Private Declare Function ShowWindow Lib "user32" (ByVal handle As IntPtr, ByVal nCmdShow As Integer) As Integer 
Private Declare Function SetForegroundWindow Lib "user32" (ByVal handle As IntPtr) As Integer 

Que fait-il et quel est-il?

Répondre

3

Il s'agit des déclarations PInvoke. Ils représentent les fonctions qui existent dans les bibliothèques C et sont définies de manière à pouvoir être appelées depuis VB.Net. Par exemple, ShowWindow est une déclaration de la fonction Win32 ShowWindow présente dans user32.dll. L'appel de ce talon finira par appeler la fonction C.

ShowWindow: http://msdn.microsoft.com/en-us/library/ms633548.aspx

Ce style particulier de la déclaration est connue sous le nom dll Declare. La syntaxe la plus courante est d'utiliser DllImport et les méthodes partagées (principalement parce que son 'compatible avec l'implémentation de C#). La syntaxe DllDeclare est à bien des égards un holdover de l'interopérabilité de style VB6.

+0

Vous pouvez également regarder: http://pinvoke.net/default.aspx/user32/ShowWindow.html –

+0

Je ne vois aucune raison d'éviter la syntaxe Declare sauf si vous avez réellement besoin de spécifier les paramètres facultatifs dans le DllImport attribut. –

0

Il s'agit presque certainement d'appels P/Invoke; c'est-à-dire une déclaration qui vous permet d'appeler une fonction Windows API, déclarée dans user32.dll.