ASP.NET, Coding

How to make API calls in .NET

Windows API calls are not COM based and are invoked through Platform Invoke Services.

Declare StringConversionType (Function | Sub) MethodName Lib “DllName” ([Args]) As Type

  • StringConversionType is for what type of conversion should take place. Either we can specify Unicode to convert all strings to Unicode values, or Auto to convert strings according to the .NET runtime rules.
  • MethodName is the name of the API to call.
  • DllName is the name of the DLL.
  • Args are any arguments to the API call.
  • Type is the return type of the API call.

Below is a sample code for VB.NET which uses Sleep windows API for delaying.

Public Class Form1
Declare Auto Sub Sleep Lib “kernel32.dll” (ByVal dwMilliseconds As Long)
Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MessageBox.Show(“ start sleeping for 5000 Milli seconds.....”)
Sleep (5000)
MessageBox.Show(“ end of sleeping.....”)
End Sub
End Class

In VB.NET we use declare keyword but in C# it goes little bit different we use DLLIMPORT here.

Note :- We have interopservices in this and EXTERN keyword.

#region Using directives
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
#endregion
 
namespace CSharpCode
private void Form1_Load(object sender, EventArgs e)
{
 
}