跨進程消息的傳遞,用到了一個WM_COPYDATA的函數.但是CString類型就傳了個空內容過去???在跨進程消息的傳遞中,用到了一個WM_COPYDATA的函數,但是我在做這個程序(程序內容是,分別在兩個編譯器中創建窗口,這樣兩個窗口就是兩個進程了)的時候發現,如int char CTime等等的類型都可以傳過去,但是CString類型就傳了個空內容過去,究竟是為什么呢??
熱心網友
CWnd* m_wnd=CWnd::FindWindow(" :ObtGlobalCom",NULL);if(m_wnd!=NULL){COPYDATASTRUCT cpd;cpd.dwData = 0; //打印和主程序交換數據cpd.cbData = m_saveFile.GetLength()+1;cpd.lpData = (void*)m_saveFile.GetBuffer(m_saveFile.GetLength()+1);m_wnd-SendMessage(WM_COPYDATA,0,(LPARAM)&cpd);m_saveFile.ReleaseBuffer();}
熱心網友
兩個進程之間傳遞參數的時候要采用指針.要把CString 分解成 CHAR然后傳過去.CString沒有指針.