什么是“ShowWindow Lib”user32“”?

时间:2009-06-24 18:27:19

标签: vb.net interop pinvoke

我正在查看其他开发人员编写的一些代码,并发现了这一点:

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

它做什么,它有什么用?

2 个答案:

答案 0 :(得分:3)

这些是PInvoke声明。它们表示存在于C库中的函数,并以允许从VB.Net调用它们的方式定义。例如,ShowWindow是user32.dll中存在的Win32 ShowWindow函数的声明。调用此存根将最终调用C函数。

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

这种特殊的声明风格称为Dll声明。更常见的语法是使用DllImport和共享方法(主要是因为它'与C#的实现兼容)。 DllDeclare语法在很多方面都是VB6样式互操作的保留。

答案 1 :(得分:0)

几乎可以肯定是P / Invoke调用;即允许您调用在user32.dll中声明的Windows API函数的声明。