AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ShellExecute, html-seite in einem NEUEN fenster öffnen?
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute, html-seite in einem NEUEN fenster öffnen?

Ein Thema von watwerbistdudenn · begonnen am 13. Mär 2005 · letzter Beitrag vom 24. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
watwerbistdudenn

Registriert seit: 12. Dez 2002
9 Beiträge
 
#1

ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 12:01
hi,
ich versuch eine seite mittels ShellExecute(0, 'open', 'http://www.xyz.de', nil, nil, SW_SHOW);
in einem neuen fenster zu öffnen.
wenn aber schon ein browserfenster geöffnet ist wird dieses fenster genommen und die siete darin geladen.
Ich will aber das ein neues fenster geöffnet wird.

kann mir bitte jemand helfen!
danke ralf
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 12:05
wirst du mit Shellexecute alleine nicht hinn bekommen. Folgende Funktion sollte das machen was du willst:
Delphi-Quellcode:
procedure OpenHttpSite(AURL: String);
var LRegistry: TRegistry;
    LBrowser: String;
    LStart, LEnd: Integer;
begin
  LRegistry := TRegistry.Create(KEY_READ);
  try
    LRegistry.RootKey := HKEY_CLASSES_ROOT;
    if LRegistry.OpenKey('http\shell\open\command', false) then
    begin
      LBrowser := LRegistry.ReadString('');
      if pos('"', LBrowser) > 0 then
      begin
        LStart := pos('"', LBrowser);
        LEnd := PosExt('"', LBrowser, LStart + 1);
        if LEnd > 0 then
           LBrowser := copy(LBrowser, LStart + 1, LEnd - (LStart + 1));
      end;
      LRegistry.CloseKey;
    end;
  finally
    LRegistry.Free;
  end;
  if ShellExecute(0, 'open', PChar(LBrowser), PChar(AUrl), nil, SW_SHOW) <= 32 then
     ShellExecute(0, 'open', PChar(AUrl), nil, nil, SW_SHOW)
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
watwerbistdudenn

Registriert seit: 12. Dez 2002
9 Beiträge
 
#3

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 12:17
WOW das ging aber schnell!!!!!!!!!!!
ich wollt grad den thread löschen weil ich im forum die lösung gefunden habe


ShellExecute(0, 'Open',PChar('IEXPLORE.EXE'),'http://web.de', nil, SW_ShowNormal);

damit gehts wenn man halt den iexplorer beutzt und mir langt das.

Aber vielen vielen dank für die schnelle antwort!!

ralf
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 20:12
Genau, wenn man den ie nutzt geht deine Variante, die Variante die ich gepostet hab sucht aus der Registry den Standardbrowser heraus und macht dann das gleiche
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#5

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 20:27
Hatte selbiges Problem und hab das gefunden

Delphi-Quellcode:
ShellExecute(handle, 'open', PChar('about:blank'), nil, nil, sw_Show);

ShellExeCute(handle, 'open', PChar('deineadresse'), nil, nil, sw_Show);
Funzt bei mir optimal

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 20:31
@Airblader: Deine variante ist ja die aus dem Ausgangspost. Und wenn ich deine Variante ausführe wird durch about:blank bei mir eine leeres IE-Fenster geöffnet, und durch die zweite anweisung wird dann die webseite in meinem Standardbrowser geöffnet. Das heißt ich hab ein offenes ie-fenster mit leerer seite
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#7

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 20:49
Zitat von SirThornberry:
@Airblader: Deine variante ist ja die aus dem Ausgangspost. Und wenn ich deine Variante ausführe wird durch about:blank bei mir eine leeres IE-Fenster geöffnet, und durch die zweite anweisung wird dann die webseite in meinem Standardbrowser geöffnet. Das heißt ich hab ein offenes ie-fenster mit leerer seite
Stimmt...Eine Bekannte bestätigt

air
edit: Dein Code geht aber auch nicht...er kennt PosExt nicht?
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 13. Mär 2005, 22:14
@Airblader: PosEx gibt es seit Delphi6 oder Delphi7 erst. Daher hab ich eine eigene Funktion noch gebaut:
Delphi-Quellcode:
function PosExt(const SubStr, S: string; Offset: Cardinal = 1): Integer;
var
  I,X: Integer;
  Len, LenSubStr: Integer;
begin
  if Offset = 1 then
    Result := Pos(SubStr, S)
  else
  begin
    I := Offset;
    LenSubStr := Length(SubStr);
    Len := Length(S) - LenSubStr + 1;
    while I <= Len do
    begin
      if S[I] = SubStr[1] then
      begin
        X := 1;
        while (X < LenSubStr) and (S[I + X] = SubStr[X + 1]) do
          Inc(X);
        if (X = LenSubStr) then
        begin
          Result := I;
          exit;
        end;
      end;
      Inc(I);
    end;
    Result := 0;
  end;
end;
man kann natürlich auch wenn man delphi6 oder höher besitzt aus dem "posext" einfach ein "posex" machen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#9

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 14. Mär 2005, 05:04
Seltsam, ich hab D6 aber PosEx kennt er auch nicht.

dann übernehm ich mal deine funktion

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#10

Re: ShellExecute, html-seite in einem NEUEN fenster öffnen?

  Alt 14. Mär 2005, 05:07
Zitat von Airblader:
Seltsam, ich hab D6 aber PosEx kennt er auch nicht
air
Einfach mal in die OH schauen, welche Unit gebraucht wird. In diesem Falle StrUtils :ziwnker:
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:26 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