Tôi muốn gửi văn bản giữa các quy trình. Tôi đã tìm thấy rất nhiều ví dụ về điều này nhưng không có gì mà tôi có thể làm việc. Dưới đây là những gì tôi có cho đến nay:Sử dụng WM_COPYDATA để gửi dữ liệu giữa các quy trình
cho phần gửi:
COPYDATASTRUCT CDS;
CDS.dwData = 1;
CDS.cbData = 8;
CDS.lpData = NULL;
SendMessage(hwnd, WM_COPYDATA , (WPARAM)hwnd, (LPARAM) (LPVOID) &CDS);
phần nhận:
case WM_COPYDATA:
COPYDATASTRUCT* cds = (COPYDATASTRUCT*) lParam;
Tôi không biết làm thế nào để xây dựng các COPYDATASTRUCT, tôi đã chỉ cần đặt một cái gì đó trong dường như hoạt động. Khi gỡ lỗi trường hợp WM_COPYDATA được thực hiện, nhưng một lần nữa tôi không biết phải làm gì với COPYDATASTRUCT.
Tôi muốn gửi văn bản giữa hai quy trình.
Như bạn có thể nói tôi mới bắt đầu, tôi đang sử dụng trình biên dịch GNU GCC trong Code :: Blocks, tôi đang cố gắng tránh MFC và phụ thuộc.
Tôi biết rằng liên kết thứ hai (để flounder.com) sử dụng MFC, mà bạn không sử dụng, nhưng tôi đã bao gồm nó chỉ để minh họa rằng bạn nên cân nhắc việc chuyển nhiều hơn một chuỗi đơn giản. – Tadmas
Cảm ơn, tôi đã làm việc đó.Mặc dù tôi đã phải thay đổi dòng đầu tiên để LPTSTR lpszString vì tôi đã nhận lỗi này: chuyển đổi không hợp lệ từ 'const void * 'cho' void *' –
Liên kết này là rất hữu ích: http: //code.msdn. microsoft.com/windowsdesktop/CppSendWMCOPYDATA-f75bc681/ – pcunite