AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi URL an IE senden der mittels shellexecute erzeugt wurde
Thema durchsuchen
Ansicht
Themen-Optionen

URL an IE senden der mittels shellexecute erzeugt wurde

Offene Frage von "delphilevi"
Ein Thema von delphilevi · begonnen am 10. Jan 2006 · letzter Beitrag vom 12. Jan 2006
Antwort Antwort
delphilevi

Registriert seit: 10. Jan 2006
Ort: Bad Bramstedt
11 Beiträge
 
#1

URL an IE senden der mittels shellexecute erzeugt wurde

  Alt 10. Jan 2006, 14:45
Moin,

ich benutze Delphi um eine IE-Anwendung zu starten. Leider kann die IE-Anwendung schon laufen und ich muß bestehende IE-Instanzen mit einer Logout-URL versorgen bevor ich die Anwendung starte.
Die abgewandelten sourcen aus dsdt ergeben eine Exception in der Zeile if (Pos ...

Geht das wie hier beschrieben oder ist ein api-call mit sendmessage an das ie-Handle sinnvoll - falls
ja wie sieht dieser aufruf aus ?

danke für die mühen

Delphi-Quellcode:
// ermittle ob eine ziel_url geoeffnet ist
procedure URL(const ziel_url: string);
  function EnumWindowsProc (Wnd: HWND; const liste: TStringList): BOOL; stdcall;
  var
    theClassname: array [0..128] of Char;
    //caption: Array [0..128] of Char;
    IE: IWebbrowser2;
    WndChild: HWND;
    a, b, c, d : OleVariant;
  begin
    Result := True;
    Windows.GetClassname( Wnd, theClassname, Sizeof( theclassname ));
    if theClassname='IEFramethen
    begin
      WndChild := FindWindowEX(Wnd, 0, 'Shell DocObject View', nil);
      if WndChild <> 0 then
      begin
        WndChild := FindWindowEX(WndChild, 0, 'Internet Explorer_Server', nil);
        if WndChild <> 0 then
        begin
          if GetIEFromHWND(WndChild, IE)=S_OK then begin
            if IE<>nil then begin
              if (Pos(ziel_url,IE.LocationURL)>0) then begin;
                IE.Navigate(HOST + LOGOUT + '?logout=yes',a,b,c,d);
              end;
            end;
          end;
        end;
      end;
    end;
  end;
begin
  EnumWindows(@EnumWindowsProc, integer(liste));
end;
Begrabt mein Hirn an der Biegung des Flusses
  Mit Zitat antworten Zitat
delphilevi

Registriert seit: 10. Jan 2006
Ort: Bad Bramstedt
11 Beiträge
 
#2

Re: URL an IE senden der mittels shellexecute erzeugt wurde

  Alt 12. Jan 2006, 13:03
hmm so geht's schon fast,

das ergebnis findet sich bei gründlicher suche in delphi + c++ foren :)
der fenstertitel ist die ie-instanz, die ich mit einer neuen url versorgen moechte
dank an thomas stutz
findcontrolbynumber funzt merkwuerdigerweise nicht daher der umweg ueber findwindowex

der code schreibt die url in die url-leiste aber die return-tasten-simulation
Delphi-Quellcode:
 
SendMessage(hadr, WM_KEYDOWN, VK_RETURN, 0);
SendMessage(hadr, WM_KEYUP, VK_RETURN, 0);
mag nicht ... kann mir jemand sagen warum oder den goldenen link senden :-D




Delphi-Quellcode:
function sende_url(const Fenster_Titel:string; const logout_url : string): boolean;
var Whandle,child,ctl,
    hadr : HWND;
begin
  sende_url := false;
  Whandle:=FindWindowbyTitle(Fenster_Titel);
  if Whandle=0 then exit
  else begin
    child := FindWindowEx(Whandle,0,'WorkerW',0);
    if child = 0 then exit
    else begin
     ctl := FindWindowEx(child,0,'ReBarWindow32',0);
     if ctl = 0 then exit
     else begin
      hadr := FindWindowEx(ctl,0,'ComboBoxEx32',0);
      if hadr = 0 then exit
      else begin
        SendMessage(hadr, WM_SETTEXT, 0, Integer(PChar(logout_url)));
        SendMessage(hadr, WM_KEYDOWN, VK_RETURN, 0);
        SendMessage(hadr, WM_KEYUP, VK_RETURN, 0);
        sende_url := true;
        exit;
      end;
     end;
    end;
  end;
end;
Begrabt mein Hirn an der Biegung des Flusses
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz