高手下留情———vxd中dll的调用!
VToolsD中VVAppyTimeEvent类下有CallDll()函数,大侠帮我讲解讲解!例子中调用user.dll中的MessageBox,调用如下:
struct {
WORD style;
DWORD szTitle;
DWORD szText;
WORD hWnd;
} msgboxargs;
PVOID la;
msgboxargs.hWnd = NULL;
msgboxargs.szText = LocalAlloc(LMEM_STRING, 0, la, "Welcome you");
msgboxargs.szTitle = LocalAlloc(LMEM_STRING, 0, la, "Login");
msgboxargs.style = MB_OKCANCEL|MB_SYSTEMMODAL;
CallDLL("USER.DLL", "MESSAGEBOX", sizeof(msgboxargs), &msgboxargs)==1;
LocalFree(msgboxargs.szText);
LocalFree(msgboxargs.szTitle);
此函数调用的Dll有没有特殊的要求?在vc中用AppWizard dll还是用Win32 dll,有差别吗?如果我的dll为dll.dll,函数为void Show(void),调用为
CallDLL("dll.dll","Show",0,NULL);一直不行!!!
实际上,我只想用dll显示一个对话框(自己定制的),有没有别的方法?