Entwickler-Ecke

Windows API - Eigene Taskleiste für IE


reallyOne - Sa 03.08.02 15:08
Titel: Eigene Taskleiste für IE
Ich habe ein Programm, das die Taskleiste und das Startmenü von Win deaktiviert und versteckt.
Nun kann man in dem Programm per ShellExecute ein IE-Fenster öffnen und im Internet surfen.

Jetzt hätte ich wohl gerne, dass für jedes IE Fenter ein Button oder so in meinem Programm erstellt wird, mit dem ich das jeweilige IE-Fenster nach vorne holen und schließen kann.


Delete - Sa 03.08.02 19:50
Titel: Re: Eigene Taskleiste für IE
reallyOne hat folgendes geschrieben:
Ich habe ein Programm, das die Taskleiste und das Startmenü von Win deaktiviert und versteckt.

Warum tut dein Programm so was?

Zitat:
Nun kann man in dem Programm per ShellExecute ein IE-Fenster öffnen und im Internet surfen.

Schön.

Zitat:
Jetzt hätte ich wohl gerne, dass für jedes IE Fenter ein Button oder so in meinem Programm erstellt wird, mit dem ich das jeweilige IE-Fenster nach vorne holen und schließen kann.

Ja, haben wir nicht alle manchmal diese Wünsche? ... :twisted: - Eyh, sorry - aber du musst schon eine Frage stellen! Was ich also sagen will:

Wie ist denn dein Programm aufgebaut? Hast du Platz für möglicherweise größere Anzahl an Buttons? Oder wären vielleicht Einträge in einer Listbox besser?

Wenn du die Kontrolle über die Fenster haben willst, solltest du vielleicht nicht mit ShellExecute sondern eher mit CreateProcess arbeiten. Da hast du das entsprechende Prozess-Handle, und kannst es z.B. als Button oder in einer Liste eintragen und demzufolge auch schließen.
Bleibst du bei ShellExecute, dann könntest du eine Enum-Funktion verwenden, die dir alle offenen IE-Fenster im System raussucht und deren Titel als Button oder in einer Liste anbietet. Dazu wäre dann vielleicht eine Aktualisierungsfunktion o.ä. ganz nützlich.

Möglichkeiten gibt´s also mehrere.

Gruß.


reallyOne - Fr 16.08.02 22:42

Kann mir dann bitte einer einer erklären, wie man den IE mit createprocess startet (auch mehrere) und dann jedes einzelne steuern kann. (erstmal nur minimieren)

Soweit ich gelesen hab, gibts da eine ID.

Aber bei der Board-Suche nach createprocess bekommt man nicht sonderlich viel. Wofür sind zB. díe einzelnen Parameter?


toms - Sa 17.08.02 07:22

Zitat:
Aber bei der Board-Suche nach createprocess bekommt man nicht sonderlich viel.

Zum Glück gibt's noch http://groups.google.com und viele andere andere Tipp-Archive.

tom


reallyOne - Sa 17.08.02 11:33

Vielen Dank :evil:

Beim alten Delphiforum wurde einem noch geholfen, aber hier heißt das Motto wohl: "Wer suchet der findet" und jeder ist nur darauf aus, soviele Beiträge wie möglich zu schreiben.

Ich Hoffe aber trotzdem, dass sich hier jemand melden wird, der mir helfen kann
Ich programmiere erst seit 2 Monaten Delphi


Tino - Sa 17.08.02 13:56

Mit diesem Code-Beispiel öffnest Du den Notepad:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var
  ProInf: TProcessInformation;
  StaInf: TStartupInfo;
begin
  FillChar(StaInf, SizeOf (TStartupInfo), 0);
  StaInf.cb := Sizeof (TStartupInfo);

  CreateProcess (
      'c:\WINNT\notepad.exe', 
      nil, nil, nil, false, 0, nil, nil, 
      StaInf, ProInf
    );
end;

Durch das Record ProInf müsstest Du an das Handle kommen.

Gruß
TINO