Я ищу способ программно нажать кнопку (Winform). У меня есть форма (скажем, Form2) и кнопка (Button2) моего проекта. Когда я нажимаю кнопку, она должна нажимать кнопку Button1 (которая находится в другом проекте), но оба находятся в одном решении. Вот что я пытался сделать:
private void button2(object sender, EventArgs e)
{
System.IntPtr hwnd;
System.IntPtr hwndChild = IntPtr.Zero;
hwnd = FindWindow(null, "form1");
if (hwnd.Equals(IntPtr.Zero))
{
MessageBox.Show("Couldn't find the form");
}
else
{
hwndChild = FindWindowEx((IntPtr)hwnd, IntPtr.Zero, null, "BUTTON1");
if(!hwndChild.Equals(IntPtr.Zero))
SendMessage(hwndChild, BM_CLICK, IntPtr.Zero, IntPtr.Zero);
}
}
Должен ли я использовать какой-либо другой подход, такой как отражение, вместо этого?
P.S: Button1 является частной и никакие изменения не могут быть внесены в эту функцию/проект.
button2(null,null);
работает? - person maksymiuk   schedule 31.01.2017BN_CLICK
уведомления, скрестив пальцы в надежде, что это сработает. В противном случае используйте любое количество методов IPC, как я сказал. - person MickyD   schedule 01.02.2017