@Noah Aas I put together a sample that demonstrates using WM_COPYDATA to transfer strings between two different processes. The sample was created with VS2022 and includes an MFC C++ application and two C# Winforms applications (.Net Framework 4.8 and .Net 8). The sample applications transfer unicode strings (UTF-16LE) so do not change character encodings without making the appropriate changes to the sample code. The samples use a registered windows message to broadcast their process id and main window handle when they start up. So they can be started in any order. These samples were written so that only two processes can communicate with each other.
You can get the samples from https://1drv.ms/u/c/c389bf4121acea69/EfJ-SJJqXI9Fk2LruNlkr4oBjXrHT1q9skW_Y1dUe92_cg?e=NXaucj Don't forget to unblock the zip file before extracting the contents.