There many ways to skin a cat, as they say, and there are at least as many ways to convert a Windows API call from VB6 to VB.NET.

In general , you don't have to worryabout Declare statements and Windows API calls when migrating a VB6 project to VB.NET - if you are using VB Migration Partner, at least - because our tool can handle correctly even very contorted cases and can even fix a few subtle issues caused by peculiar .NET features like string immutability and orphaned delegates. However, at time you need to get your hands dirty and pay a lot of attention to API calls.

We have prepared a short but juicy technical whitepaper entitled Tips for smooth migration of calls to Windows API methods. Among the other things, this article shows how you can wrap API calls in methods and then replace these wrapper methods with calls to native .NET objects, so that in the end you have no dependencies on unmanaged code.

While speaking of API calls, here a few other articles that you might find useful:

[PRB] A call to a Windows API Declare returns a string filled with spaces
[PRB]
Calls to GetOpenFileName API method returns trimmed string
[INFO] Declare statements can generate methods with different names
[HOWTO] Migrate VB6 applications that use window subclassing
[PRB] VB6 applications that use window subclassing or other API callback methods throw a CallbackOnCollectedDelegate excetion