2009-06-24 13 views
1

は、私は別の開発者が書いた本を見つけたことをいくつかのコードの上に探していました:"ShowWindow Lib"とは何ですか?

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 

それが何をするのか、それがために何ですか?

答えて

3

これらはPInvoke宣言です。これらは、Cライブラリに存在する関数を表し、VB.Netから呼び出すことができるように定義されています。たとえば、ShowWindowはuser32.dllに存在するWin32 ShowWindow関数の宣言です。このスタブを呼び出すと、C関数が呼び出されます。

のShowWindow:宣言のこの特定のスタイルは、DLLとして知られている

を宣言しhttp://msdn.microsoft.com/en-us/library/ms633548.aspx。より一般的な構文は、DllImportと共有メソッドを使用することです(主にC#の実装と互換性があるためです)。 DllDeclare構文は、多くの点でVB6スタイルのinteropからのホールドオーバーです。

+0

http://pinvoke.net/default.aspx/user32/ShowWindow.html –

+0

実際にDllImportにオプションのパラメータを指定する必要がない限り、Declare構文を避ける理由はありません属性。 –

0

これらはほぼ確実にP/Invoke呼び出しです。つまり、user32.dllで宣言されているWindows API関数を呼び出すことができる宣言です。

関連する問題