我嘗試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'的含義(如果有的話)是由接收窗口過程定義的。 –