有一个vector<draw> my
请问COPYDATASTRUCT应该怎么赋值?class draw{
public:
int m_Number;
BOOL b_Fill;
POINT* m_PointList;
}draw类如上,是全局变量,这样传指针的时候不会丢失吧?
请问COPYDATASTRUCT应该怎么赋值?class draw{
public:
int m_Number;
BOOL b_Fill;
POINT* m_PointList;
}draw类如上,是全局变量,这样传指针的时候不会丢失吧?
draw ob;
COPYDATASTRUCT cpData;
cpData.dwData = 1;
cpData.cbData = sizeof(ob);
cpData.lpData = &ob;
::SendMessage(hWndTarget , WM_COPYDATA , (WPARAM)m_hWnd , (LPARAM)&cpData);vector我没用过,不知怎么取地址,但道理是一样的。
cpData.lpData = my.begin()._ptr,
cpData.cbData = my.size()*sizeof(draw);当然有个前提是,把class draw里的POINT* m_PointList改成POINT[] m_pPointList; 否则传过去的只是一个指针,指针的地址是发送进程的地址,在接收进程里没有任何意义。