MFC中,怎么控制另一个程序?大哥们帮帮忙吧

MFC中,如何控制另一个程序?大哥们帮帮忙吧!
一个A程序控制另一个程序B窗体,具体问题如下:
1.向B的窗体的编辑框中输入指定的字符串
2.向B的窗体的编辑框中输入IP地址

注:我也在网上查了,知道用FindWindow找到窗口句柄,用PostMessage发送文本消息,可是失败了,数

据写不上!不知是为什么?可能我的写错了,代码如下:
HWND hNetWnd=::FindWindow(NULL,"网络设置");
PostMessage(hNetWnd,WM_COMMAND,IDC_CLIENT_OPTION,0);

char ch[]="12";
HWND hEditWnd=GetDlgItem(hNetWnd,IDC_NET_PORT_EDIT);
PostMessage(hEditWnd,WM_SETTEXT,0,(LPARAM)(ch));

hNetWnd是网络设置对话框的句柄,hEditWnd是一个文本编辑框(端口号),IDC_NET_PORT_EDIT是编辑框

的ID

结果是写不进去数据!不知是为什么?我也没用过,也不知道写的对不对,也不知道PostMessage该怎么

用,我也在网上查了,可是找不到具体详细的答案!

那位老手帮帮忙吧,谢谢!
------最佳解决方案--------------------
GetDlgItem不能获取到句柄。FindWindowEx在指定的窗口查找子窗口。
------其他解决方案--------------------
PostMessage 你如果用传输指针的话,注意指针对象的生命周期。

很有可能对方接收到的时候已经释放了。

为啥不用SendMessage来尝试下呢?
------其他解决方案--------------------
PostMessageW(
    __in_opt HWND hWnd,
    __in UINT Msg,
    __in WPARAM wParam,
    __in LPARAM lParam);
第一个参数是句柄,第二个参数写成你定义的消息类型,3.4设成NULL就行了~你给B发消息,B里也要能处理接收到的自定义消息啊,反正都是个整数值
------其他解决方案--------------------
HWND hEditWnd=GetDlgItem(hNetWnd,IDC_NET_PORT_EDIT); //不对
用FindWindowEx查找
------其他解决方案--------------------
CWnd *pWnd = FindWindow(NULL, "网络设置");
if (pWnd)
{
pWnd->SetForegroundWindow();
keybd_event('1',0,0,0);
keybd_event('1',0,KEYEVENTF_KEYUP,0);
keybd_event('2',0,0,0);
keybd_event('2',0,KEYEVENTF_KEYUP,0);
}
------其他解决方案--------------------
就是进程间通信呗,啥窗体不窗体的,整个管道啥的不就解决了。
------其他解决方案--------------------
引用:
一个A程序控制另一个程序B窗体,具体问题如下:
1.向B的窗体的编辑框中输入指定的字符串
2.向B的窗体的编辑框中输入IP地址

注:我也在网上查了,知道用FindWindow找到窗口句柄,用PostMessage发送文本消息,可是失败了,数

据写不上!不知是为什么?可能我的写错了,代码如下:
HWND hNetWnd=::FindWindow(NULL,……


第二个参数可以不是自定义吧,WM_SETTEXT 
关键是我不知道为啥PostMessage(hEditWnd,WM_SETTEXT,0,(LPARAM)(ch));不行?这个错哪了?返回值是0
------其他解决方案--------------------
引用:
第二个参数可以不是自定义吧,WM_SETTEXT 
关键是我不知道为啥PostMessage(hEditWnd,WM_SETTEXT,0,(LPARAM)(ch));不行?这个错哪了?返回值是0


hEditWnd 有效么?

------其他解决方案--------------------
引用:
CWnd *pWnd = FindWindow(NULL, "网络设置");
if (pWnd)
{
pWnd->SetForegroundWindow();
keybd_event('1',0,0,0);
keybd_event('1',0,KEYEVENTF_KEYUP,0);
keybd_event('2',0,0,0);
keybd_event('2……

你的代码,不懂意思啊
------其他解决方案--------------------
引用:
GetDlgItem不能获取到句柄。FindWindowEx在指定的窗口查找子窗口。

哦?为什么不能用GetDlgItem获取,我那个hEditWnd得到的不是NULL
我试试FindWindowEx,不知道具体怎么用
------其他解决方案--------------------
引用:
HWND hEditWnd=GetDlgItem(hNetWnd,IDC_NET_PORT_EDIT); //不对
用FindWindowEx查找