WM_COPYDATA The WM_COPYDATA message is sent when an application passes data to another application. WM_COPYDATA wParam = (WPARAM) (HWND) hwnd; // handle of sending window lParam = (LPARAM) (PCOPYDATASTRUCT) pcds; // pointer to structure with data
Parameters hwnd Handle to the window passing the data. pcds Pointer to a COPYDATASTRUCT structure that contains the data to be passed. Return Values If the receiving application processes this message, it should return TRUE; otherwise, it should return FALSE. Res An application must use theSendMessage function to send this message, not thePostMessage function. The data being passed must not contain pointers or other references to objects not accessible to the application receiving the data. While this message is being sent, the referenced data must not be changed by another thread of the sending process. The receiving application should consider the data read-only. The pcds parameter is valid only during the processing of the message. The receiving application should not free the memory referenced by pcds. If the receiving application must access the data after SendMessage returns, it must copy the data into a local buffer.
写数据库也可以,但是数据的同步就比较麻烦,可以设置一个公共标记,但是这样是明显是自找麻烦。
所以,建议用文件,不要使用缓冲,只需要顺序读写就可以了。
如果你要求是从plc中连续读取数据,不需要保留历史数据的话,还是建立socket 或 pipe通信吧。
The WM_COPYDATA message is sent when an application passes data to another application. WM_COPYDATA
wParam = (WPARAM) (HWND) hwnd; // handle of sending window
lParam = (LPARAM) (PCOPYDATASTRUCT) pcds; // pointer to structure with data
Parameters
hwnd
Handle to the window passing the data.
pcds
Pointer to a COPYDATASTRUCT structure that contains the data to be passed.
Return Values
If the receiving application processes this message, it should return TRUE; otherwise, it should return FALSE. Res
An application must use theSendMessage function to send this message, not thePostMessage function. The data being passed must not contain pointers or other references to objects not accessible to the application receiving the data. While this message is being sent, the referenced data must not be changed by another thread of the sending process. The receiving application should consider the data read-only. The pcds parameter is valid only during the processing of the message. The receiving application should not free the memory referenced by pcds. If the receiving application must access the data after SendMessage returns, it must copy the data into a local buffer.