Windows 서비스에서 이미 실행중인 Windows 데스크톱 응용 프로그램으로 메시지를 전달하려고합니다. Windows 서비스에서 타이머를 구현했습니다. 간격 후에 서비스는 Windows 응용 프로그램에 메시지를 보냅니다.C#을 사용하여 Windows 서비스에서 Windows 서비스로 메시지를 전달하는 방법은 무엇입니까?
서비스 또는 발신자 번호는 아래와 같다 : 상기 코드는 잘 작동
protected override void WndProc(ref Message m)
{
if (m.Msg == 232)
{
MessageBox.Show("Received");
}
else
{
base.WndProc(ref m);
}
}
두 프로세스 윈도우가있을 때 다음과 같이
System.Diagnostics.Process[] lProcs = System.Diagnostics.Process.GetProcessesByName("TestProcess2");
if (lProcs.Length > 0)
{
IntPtr handle = lProcs[0].MainWindowHandle;
if (handle != IntPtr.Zero)
SendMessage(handle, 232, IntPtr.Zero, IntPtr.Zero);
}
및 윈도우 데스크탑 어플리케이션 (수신기) 코드는 데스크톱 응용 프로그램. 보낸 사람으로 Windows 서비스를 사용하면 Windows 데스크톱 응용 프로그램 프로세스에서 메시지를받을 수 없습니다. 도와 줄수있으세요?
파이프 또는 루프백 소켓 연결을 보았습니까? –