Calling Win32 Api from C#

Shalvin 0 Tallied Votes 464 Views Share

Though .Net classes are vast and versatile at time you will have to resort to Win32 API calls for accomplishing certain tasks.

The following code shows a simple example of invoking a Win32 api.

The best way to use Win32 apis is to encapsulate it in a class module.
The namespace for COM interop is System.Runtime.InteropServices.
The method name should have DllImport attribute specifying the name of the dll. Here the dll is user32. Other dlls are Gdi and Kernel.

//Class
using System.Runtime.InteropServices; 

  namespace SwapMouseEg { 

    class SwapMouse { 
      [DllImport("user32.dll")]
   public static extern Int32 SwapMouseButton(Int32 bSwap); 
  } 
}

//Form
private void btnSwap_Click(object sender, EventArgs e) 
{ 
SwapMouse.SwapMouseButton(1); 
} 
private void btnReset_Click(object sender, EventArgs e) { 
SwapMouse.SwapMouseButton(0); 
}