-
-
[求助]关于DLL与EXE通讯问题。DLL->EXE接受显示
-
发表于:
2012-12-28 10:14
6708
-
[求助]关于DLL与EXE通讯问题。DLL->EXE接受显示
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没有任何结果,请问如何处理才有显示出来?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)