devxlogo

Calling C Libraries from .NET

Calling C Libraries from .NET

Suppose your library is in C and and your code is in .NET or VC++ (for a UI-based application). Further, suppose you want to display a message box whenever the library raises any error. In that situation, the following code is useful:

#include <stdio.h>HWND g_AdtDlgWnd = NULL;void UserWarning(char* arg1,char* arg2, ...){	va_list list;	char Buffer[1024];	int ret;	va_start(list,arg2);	ret=vsprintf(Buffer,arg2,list);	va_end(list);	{		HWND hwnd_cur=GetFocus();		if(hwnd_cur == NULL)		{		hwnd_cur = GetADTDialogWindow();//Find handle of dlg		}		MessageBox(hwnd_cur,Buffer,arg1,MB_OK);	}}HWND GetADTDialogWindow(void){	if(g_AdtDlgWnd == NULL)	return FindWindow(NULL,ADT_TITLE);//Provide title // of window (Dialog)	else		return g_AdtDlgWnd;}

Now, call the function:

UserWarning("Data Transfer","Data not saved on server side");
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist