c++关于动态链接库的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:13:49
#include <windows.h>
#include "string.h"
#include "stdio.h"

#pragma data_seg("Shared")
HHOOK mhook=NULL;
HINSTANCE hInstance=NULL;
#pragma data_seg()

LRESULT WINAPI KeyBoardProc(int code,WPARAM wParam,LPARAM lParam)
{

if(code == HC_ACTION && (lParam & 0xc000ffff) == 1)
{

MessageBox("已按下");
}

}
}
这是个在win32动态链接库下写的一个cpp文件产生错误的部分,错误就在<!--MessageBox("已按下");-->为什么不能用messagebox呢?
还是错错错..哎

你是MessageBox参数不对
int MessageBox( HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
你至少要填4个参数,你平时这样成功,因为你在CWnd类或CWnd的派生类内部使用
int CWnd::MessageBox
(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK
)
看到没有,它带了默认参数的,如果你想正确使用应
MessageBox(NULL,_T("已按下"),_T("你的标题"),MB_OK);

不是不能用,是你的参数不对,MessageBox有4个参数的。
下面这样就可以了
::MessageBox(NULL,//父窗口的居柄
"已按下",//窗口中的内容
"TEST",//窗口标题的内容
MB_OK);//消息框样式。
如果只想弹点东西,不想写那么多参数可以用AfxMessageBox,只需要一个参数就可以了,其他的参数有默认参数。
AfxMessageBox("已按下");
====
什么错?把错误信息发出来看一下