[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);
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function FindWindowEx(ByVal parentHandle As IntPtr, _
ByVal childAfter As IntPtr, _
ByVal lclassName As String, _
ByVal windowTitle As tring) As IntPtr
End Function
None.
None.
Please add some!
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();
}
Do you know one? Please contribute it!