Access wird verweigert - wenn versucht wird, die URL (Text) aus dem Handle der Adressleiste abzurufen.
Ich versuche die URL aus der Adressleiste des IE zu extrahieren. (IE 8 unter Windows 7) mit dem folgenden C # -Code.
static string GetUrlFromIE()
{
IntPtr windowHandle = APIFuncs.getForegroundWindow();
IntPtr childHandle;
String strUrlToReturn = "";
//try to get a handle to IE's toolbar container
childHandle = APIFuncs.FindWindowEx(windowHandle, IntPtr.Zero, "WorkerW", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
//get a handle to address bar
childHandle = APIFuncs.FindWindowEx(childHandle, IntPtr.Zero, "ReBarWindow32", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
childHandle = APIFuncs.FindWindowEx(childHandle, IntPtr.Zero, "Address Band Root", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
childHandle = APIFuncs.FindWindowEx(childHandle, IntPtr.Zero, "Edit", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
strUrlToReturn = new string((char)0, 256);
GetWindowText(hwnd, strUrlToReturn , strUrlToReturn.Length);
}
}
}
}
return strUrlToReturn;
}
Der Aufruf von GetWindowText gibt eine Ausnahme "Zugriff verweigert" zurück. Beim Ausführen der App mit Administratorrechten wird die Meldung "Das System kann die angegebene Datei nicht finden" ausgegeben.
Irgendwelche Ideen