FindWindowEx (user32)
Last changed: a-202.69.38.82

.
Summary

C# Signature:

[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className,  IntPtr windowTitle);

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

private string GetUrlFromIE(IntPtr windowHandle)

{

    IntPtr childHandle;
    IntPtr size = IntPtr.Zero;
    StringBuilder currentUrl = new StringBuilder();

    //try to get a handle to IE's toolbar container
    childHandle = Win32.FindWindowEx(windowHandle,IntPtr.Zero,"WorkerW",IntPtr.Zero);
    if(childHandle != IntPtr.Zero)
    {
        //get a handle to address bar
        childHandle = Win32.FindWindowEx(childHandle,IntPtr.Zero,"ReBarWindow32",IntPtr.Zero);
        if(childHandle != IntPtr.Zero)
        {
            //finally, locate combo box and add its text to the list
            childHandle = Win32.FindWindowEx(childHandle, IntPtr.Zero, "ComboBoxEx32", IntPtr.Zero);
            if(childHandle != IntPtr.Zero)
            {
                size = Win32.SendMessage(childHandle,Win32.WM_GETTEXTLENGTH,IntPtr.Zero,IntPtr.Zero);
                Win32.SendMessage(childHandle,Win32.WM_GETTEXT,size,currentUrl);
            }
        }
    }
    return currentUrl.ToString();

}

Alternative Managed API:

Do you know one? Please contribute it!

Documentation