关于进程间传递字符串的有关问题,路过的高手给看看,跪求!

关于进程间传递字符串的问题,路过的高手给看看,跪求!~
前几天发帖,答案不理想,另开贴求教,还望路过的高手帮帮忙~
话不多说进入正题:自己的程序有个文本框(IDC_EDIT1,变量名为m_edit1)现在想每次通过点击自己程序内的BUTTON向另一个程序内的文本框发送自己程序文本框内当前的字符串。另一程序没有源码。能通过SPY++获得窗口句柄假设为hWNDB。第三方程序的父窗口句柄假设为hWNDA。
我些的代码如下:HWND hWNDB=::FindWindowEx(hWNDA,NULL,"TEdit",NULL);
  SetDlgItemText(::GetWindowLong(hWNDB,GWL_ID),m_edit1);
通过查询资料知道进程间传递数据好像这样是不行的,大神们见笑了~
小弟新手,望大神们能根据小弟的描述把具体过程写一下,辛苦啦,不胜感激!~ 分不多都是每天接分接来的不嫌弃的拿走~

------解决方案--------------------
SendMessage(hWNDB, WM_SETTEXT, NULL, (LPARAM)(LPCTSTR)m_edit1);
------解决方案--------------------
有种方法是在窗口所在的进程申请空间进行读写

C/C++ code
DWORD dwPID;
GetWindowThreadProcessId(hWNDB, &dwPID);
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwPID);
LPTSTR pText = (LPTSTR)VirtualAllocEx(hProcess, NULL, (m_edit1.GetLength() + 1) * sizeof(TCHAR), MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hProcess, pText, (LPCTSTR)m_edit1, (m_edit1.GetLength() + 1) * sizeof(TCHAR), NULL);
SendMessage(hWNDB, WM_SETTEXT, NULL, (LPARAM)pText); // SetWindowText(hWNDB, pText);

CloseHandle(hProcess);
VirtualFreeEx(hProcess, pText, 0, MEM_RELEASE);

------解决方案--------------------
如果目标程序的目标控件支持设置Text,那么直接获取目标控件句柄,然后::SetWindowText()是可行的;
但是,数据量稍大的话,最好采用WM_COPYDATA,然后在目标进程接收你发过去的数据(如果目标进程没处理WM_COPYDATA消息,那么需要代码注入)