using
using System.Runtime.InteropServices;
Process p;
private void buttonShowForm_Click(object sender, EventArgs e)
{
p = Process.Start(textBoxNewFormLocation.Text);
}
private void buttonPushButton_Click(object sender, EventArgs e)
{
IntPtr ActiveWindowHandle = p.MainWindowHandle;
EnumChildWindows(ActiveWindowHandle, new EnumChildrenCallback(EnumChildWindowsCallback), new IntPtr(0));
const int BM_CLICK = 0x00F5;
Message msg = Message.Create(hwnd_button, BM_CLICK, new IntPtr(0), new IntPtr(0));
PostMessage(msg.HWnd, msg.Msg, msg.WParam, msg.LParam);
}
[DllImport("user32.dll")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
[DllImport("user32.dll", ExactSpelling = true)]
private static extern bool EnumChildWindows(IntPtr hwndParent, EnumChildrenCallback lpEnumFunc, IntPtr lParam);
private delegate bool EnumChildrenCallback(IntPtr hwnd, IntPtr lParam);
IntPtr hwnd_button;
private bool EnumChildWindowsCallback(IntPtr handle, IntPtr lparam)
{
IntPtr tmpHandle = FindWindowEx(handle, new IntPtr(0), null, "&Advanced GeoCode");
if (tmpHandle.ToInt32() != 0)
{
hwnd_button = tmpHandle;
}
return true;
}