Я создаю приложение, которое использует основной проект, подключенный к нескольким различным DLL. Из одного окна DLL мне нужно иметь возможность открывать окно в другом, но библиотеки DLL не могут ссылаться друг на друга.
Мне было предложено использовать функцию sendmessage в первой DLL и иметь слушателя в основной программе, который направляет это сообщение в соответствующую DLL, чтобы открыть ее окно.
Однако я Я совершенно не знаком с функцией sendmessage, и у меня есть много проблем, связанных с информацией, которую я нахожу в Интернете.
Если бы кто-нибудь мог показать мне правильный способ (если он есть) использовать функцию sendmessage и, возможно, как слушатель перехватывает это сообщение, это было бы замечательно. Вот часть кода, который у меня есть, и я не уверен, что иду в правильном направлении.
[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName, String lpWindowName);
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);
public void button1_Click(object sender, EventArgs e)
{
int WindowToFind = FindWindow(null, "Form1");
}