70,031
社区成员




#define SIZE(x) (sizeof(x)/sizeof(x[0]))
#define MAXLEN 20
typedef void (*PFUCTION)(void);
typedef struct
{
char FunctonName[20];
PFUNCTION pFunction;
}FUNCTIONTABLE;
void aa_function(void);
void bb_function(void);
FUNCTIONTABLE FunctionTable[] =
{
{"aa", aa_function},
{"bb", bb_function}
}
char InputStr[MAXLEN];
...
int i;
for(i = 0; i<SIZE(FunctionTable); i++)
if(!strcmp(InputStr, FunctionTable[i].FunctionName))
{
FunctionTable[i].pFunction();
}
typedef int (*PFN)(int);
BOOL CallStringFunction(HMODULE Library, LPCSTR FunctionName, int Argument, int &ReturnValue)
{
PFN function = (PFN)GetProcAddress(Library, FunctionName);
if (function == NULL) return FALSE;
ReturnValue = function(Argument);
return TRUE;
}
程序先执行LoadLibrary载入dll,然后可以通过上面的函数来调用具体的函数。