| Autor |
Beitrag |
lkz633
      
Beiträge: 136
WinXP, Suse Linux 8.2 (unter VMWare)
D7 Prof, K3 Prof
|
Verfasst: Do 03.04.03 19:35
Hi,
ich versuche z.B alle foren von delphißforum.de mit einem mal zu öffnen
Quelltext 1: 2:
| for i:=1 to 18 do shellexecute(handle,'open',pchar('http://www.delphi-forum.de/viewforum.php?f='+inttostr(i)),nil,nil,0); |
leider wird alles im selbern Fenster geoeffnet, ich wills natuerlich aber alles in einem neuen Fenster geoeffnet haben. wie hegt dies ?
Auch die show?options haben mich nicht weitergebracht.
Dank und Gruss
lkz633
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Fr 04.04.03 17:51
Du machst alles richtig! Dein Problem: ShellExecute() öffnet die Datei im STANDARD-Bwoser. Der ist auf jedem System ein aderer. Du müsstest die Konsolenparameter für jeden Browser kennen, und dann überprüfen, welcher Browser Standard ist, und den entsprechendne Parameter übergeben. ShellExecute() ist für so was nicht zusändig, da es keine "Standard-Neues-Fenster" Parameter gibt.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Sa 26.04.03 18:49
Geht das nicht irgendwie, daß du dir das Browserfenster suchst, wenn es offen ist und du dann einen Hotkey (in der Regel ja STRG+N) für ein neues Fenster simulierst und dieses dann mit der entsprechenden Seite füllst?
_________________ Hasta La Victoria Siempre
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 26.04.03 18:59
Die Betonung liegt auf "IN DER REGEL". Was ist schon "die Regel"? Es gibt KEINE mir bekannte Standard-MEthode für so was. da müsste man sich schon auf die Standardbrowser (IE, Netscape, evtl. Opera, Mozilla) beschränken, und für jeden dieser Browser eine Methode implementieren.
Was man aber machen kann: Den user eintippen lassen, ungefähr so ein Formular:
Quelltext 1: 2: 3: 4: 5: 6:
| Browser-Pfad: {TEdit} Parameter: {TEdit} DDE: {TCheckbox} DDE-Topic: {TEdit} DDE-Parameter: {TEdit} Presets: {TComboBox} |
Die Comobox enthält dann die Presets für IE und Netscape. Wenn der User einen andere Browser verwendet, muss er halt die anderen Parmater setzen.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Sa 26.04.03 19:02
Shellexecute mit nicht mit 'open' sondern mit IExplore.exe und der URL als Parameter aufrufen.
sollte dann funzen.
grez.
msch
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 26.04.03 19:37
Das wäre dann mal die Triviallösung, denn wenn der User den IE nicht mag (viele denken so), dann ird er sich ärgern,w enn stat seinem geliebten Netscape, Opera, Phoenix oder so, auf einmal der gehasste IE vom Erzfeind M$ aufpoppt.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Sa 26.04.03 20:13
war doch nur nen Beispiel. Dann lese doch die registry aus, welche Verknüpfung mit .HTML Dateien erstellt ist. Das Programm dann via ShellEx aufrufen.
grez.
msch
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 26.04.03 20:31
Na ja, dann wären wir wieder da, ao ich aufgehört habe: Es gibt nunmal mehrere Browser. Und jeder hat eigene Parameter, sogar die Versionen können verschiedene haben.
Es wäre ein Weg klar. Was ich sagen will: Ich kenne KEINEN Weg, der ALLE Browser abdeckt. Dein Weg wäre, wie gesagt, eine Triviallösung, was nicht heißen soll, dass es eine schlechte Idee ist 
_________________ Life is a bad adventure, but the graphic is really good!
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Sa 26.04.03 20:34
Der weg den imho alle Browser gemein haben, ist <name.exe><url>. Ist auch in der registry verankert. du mußt nur eine routine basteln die dir die registry ausliest und die die ausführbare Datei gibt als auch den \open Schlüssel. In der regel steht da irgentwas mit %1 oder so ähnlich drinne.
grez
msch
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 26.04.03 20:51
Logisch, das ist klar. Aber wir wollen ja, dass jede Datei IN EINEM NEUEN FENSTER geöffnet wird. Und da hat jedes Prog seine eigenen Parameter. Was passiert, wenn du nur den Dateinamen als Parameter angibst, ist ungewiss, da das von jedem Browser anders implemetiert wird bzw. werden kann.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: So 27.04.03 09:22
imho regelt das das BS und nicht die Anwendung.
probier es doch einfach mal aus ?
grez
msch
|
|