我尝试SYSTEM_INFO结构发送到使用的SendMessage()第二过程进程间通信SYSTEM_INFO structture
HWND hDlg1 = FindWindow(NULL, L"5_2");
SYSTEM_INFO si;
GetSystemInfo(&si);
cs.dwData = STRUCT;
cs.cbData = sizeof(SYSTEM_INFO);
cs.lpData = &si;
if (hDlg1 != NULL)
{
SendMessage(hDlg1, WM_COPYDATA, (WPARAM)hDlg, (LPARAM)(LPVOID)&cs);
}
接收代码:
pcds = (PCOPYDATASTRUCT)lParam;
SYSTEM_INFO* si;
si = (SYSTEM_INFO *)pcds->lpData;
,并获得随机值
当我尝试receving的这样的数据:
SYSTEM_INFO si;
si = (SYSTEM_INFO)pcds->lpData;
有类型“_SYSTEM_INFO”不具有一个重载成员“运算符 - >”错误
@Danh,我认为这不应该是必需的,因为'WM_COPYDATA'复制了数据。更可能的是OP没有遵循关于仅在消息处理期间有效的数据的规则,或者这些过程具有不同的位数。 –
什么是'STRUCT'? 'cs.dwData'应该是'1' –
@BarmakShemirani,你有参考吗?据我所知,'dwData'的含义(如果有的话)是由接收窗口过程定义的。 –