我有两个正在运行的 VC++ 应用程序,都是我编写的。它们不是同一个 EXE 的两个实例;它们是完全不同的项目。我想将一个字符串从一个发送到另一个。
第一个应用程序具有以下代码:
HWND tgtHwnd = FindWindow(_T("Target_Class"), _T("Target_Name"));
SendMessage(tgtHwnd, 1234, 0, (LPARAM)L"Hello");
第二个具有以下代码来处理此消息:
// snippet of the WndProc function
case 1234:
LPCWSTR myText = (LPCWSTR)lParam;
MessageBox(NULL, myText, _T("My Text"), 0);
// End snippet
当我运行它并传递消息时,我在接收应用程序中收到访问冲突错误。
尝试搜索与 LPCWSTR 和 LPARAM 之间的转换,但找不到任何有用的示例。与 Bad Ptr 错误更加混淆。我记得读过,发送的指针可能对第二个进程或类似的东西不可用。但我不知道从哪里开始寻找。
如何将字符串从一个 EXE 发送到另一个?