ac# アプリと Delphi アプリの間の Windows メッセージに問題があります。
c# から c# および delphi から delphi でいくつかの例を実行しましたが、c# から delphi にはできません
これは、WM送信者コードである私の関連するc#アプリです
void Game1_Exiting(object sender, EventArgs e)
{
Process[] Processes = Process.GetProcesses();
foreach(Process p in Processes)
if(p.ProcessName == Statics.MainAppProcessName)
SendMessage(p.MainWindowHandle, WM_TOOTHUI, IntPtr.Zero, IntPtr.Zero);
}
private const int WM_TOOTHUI = 0xAAAA;
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int SendMessage(IntPtr hwnd, [MarshalAs(UnmanagedType.U4)] int Msg, IntPtr wParam, IntPtr lParam);
これは、WMレシーバーコードである私の関連するデルファイアプリです
const
WM_TOOTHUI = 43690;
type
private
MsgHandlerHWND : HWND;
procedure WndMethod(var Msg: TMessage);
procedure TForm1.WndMethod(var Msg: TMessage);
begin
if Msg.Msg = WM_TOOTHUI then
begin
Caption := 'Message Recieved';
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MsgHandlerHWND := AllocateHWnd(WndMethod);
end;
前もって感謝します。