首页
社区
课程
招聘
[求助]关于DLL与EXE通讯问题。DLL->EXE接受显示
发表于: 2012-12-28 10:14 6709

[求助]关于DLL与EXE通讯问题。DLL->EXE接受显示

2012-12-28 10:14
6709
  DLL上是这样的函数
由EXE接受到消息处理的。(执行流程:EXE->DLL->EXE)
代码如下 :
			if (wParam==11)//回调测试
			{
				DWORD str;
				HWND hwd=FindWindowA(NULL,"11111111");
				if (!hwd)
				{
					MessageBoxA(NULL,TEXT("没找到"),TEXT("1111"),MB_OK);
				}
				str=1000;
				SendMessage(hwd,WM_USER+110,1,(LPARAM)str);
			}


EXE 能接受到WPARAM消息,。但是LPARAM无法显示到IDC_EDIT里。
EXE发送代码如下:
void WG_main::OnTest() 
{
		HWND hwnd = ::FindWindow(NULL,"测试窗体");
		::SendMessage(hwnd,WM_USER + 110,11,0);
}


接受代码如下:
//HWND hwnd,UINT msg,
LRESULT Dlgs::EXEhuitiao(WPARAM wParam,LPARAM lParam)//接受消息用的
{
	CString str,str2;
		DWORD a222;
	char* newMsg = (char*)wParam;
	if(newMsg == NULL)
	{
		return -1;
	}
//////////////////////////////////////////////////////////////////////////
	if (wParam==1)
	{
		
		::MessageBoxA(NULL,TEXT("1111"),TEXT("222"),MB_OK);
		
	DWORD dwCur;
	CString strBuff;
	
	dwCur = LOWORD(lParam);
	strBuff.Format(_T("d%"),dwCur);
	GetDlgItem(IDC_EDIT1)->SetWindowText(strBuff);
		return 0;
	}
	if (wParam==2)
	{
		::MessageBoxA(NULL,TEXT("2"),TEXT("222"),MB_OK);
		a222=lParam;
		return 0;
	}
	
	::MessageBoxA(NULL,TEXT("空的该返回了"),TEXT("222"),MB_OK);
	
delete newMsg;
 return 0;

}


执行后,能提示出消息框,但是EDIT没有任何结果,请问如何处理才有显示出来?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 303
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
strBuff.Format(_T("d%"),dwCur);   d% ???

char* newMsg = (char*)wParam;
...
delete newMsg;
这又是想干嘛
2012-12-28 12:33
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
WM_COPYDATA
2012-12-28 14:04
0
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
使用PIPE、sharememory也行
2012-12-28 14:08
0
游客
登录 | 注册 方可回帖
返回
//