私は2つのVC++アプリケーションを実行していますが、どちらも私が作成したものです。これらは同じEXEの2つのインスタンスではありません。それらは完全に異なるプロジェクトです。文字列を一方から他方に送信したい。
最初のアプリケーションには次のコードがあります。
HWND tgtHwnd = FindWindow(_T("Target_Class"), _T("Target_Name"));
SendMessage(tgtHwnd, 1234, 0, (LPARAM)L"Hello");
2つ目は、このメッセージを処理するための次のコードを持っています。
// snippet of the WndProc function
case 1234:
LPCWSTR myText = (LPCWSTR)lParam;
MessageBox(NULL, myText, _T("My Text"), 0);
// End snippet
それを実行してメッセージを渡すと、受信側のアプリケーションでアクセス違反エラーが発生します。
LPCWSTRとLPARAMとの間の変換を検索しようとしましたが、役立つ例が見つかりませんでした。BadPtrエラーとさらに混同されます。送信されたポインタが2番目のプロセスなどで使用できない可能性があることを読んだことを覚えています。しかし、どこから探し始めるのかわかりません。
あるEXEから別のEXEに文字列を送信するにはどうすればよいですか?