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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage