AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Programm über TWebbrowser starten
Thema durchsuchen
Ansicht
Themen-Optionen

Programm über TWebbrowser starten

Ein Thema von flosoft · begonnen am 23. Apr 2007 · letzter Beitrag vom 25. Apr 2007
Antwort Antwort
flosoft

Registriert seit: 23. Apr 2007
15 Beiträge
 
Delphi 2007 Professional
 
#1

Programm über TWebbrowser starten

  Alt 23. Apr 2007, 14:05
Hallo,
ich möchte ein CD Menü mit der TWebbrowser Komponente realiesen, da es bereits in HTML vorliegt.
Aus dieser HTML-Seite möchte ich selbst geschrieben Programme (*.exe) starten ohne die störende Frage ob ich das Programm ausführen oder speichern möchte. Das eigentliche Starten der Progarmme funktioniert bereits (ShellExecute bzw. CreateProcess).
Wie kann ein Link auf der HTML-Seite auf CreateProcess "umleiten"?
Danke!
  Mit Zitat antworten Zitat
grips-net

Registriert seit: 3. Sep 2004
Ort: St. Wendel
50 Beiträge
 
#2

Re: Programm über TWebbrowser starten

  Alt 23. Apr 2007, 14:20
Hallo.

Du kannst den aufgerufenen Link abfangen.

Ergänze dazu das BeforeNavigate2 - Ereignis ...

Delphi-Quellcode:
      

iRun := pos('RUN:', URL);

if iRun > 0 then
  sUrl := copy(URL, iRun+4, 1024);

if sUrl = 'meinprogrammthen
begin
 if fileexists(sFile) then
   ShellExecute(self.handle, pChar('OPEN'), pChar(SFile), nil, nil, SW_SHOW);
      
 Cancel := true; // Bricht das Navigieren ab.
end;
... und ändere den Link im HTML-Quellcode nach ...

Das BeforeNavigate2 - Ereignis kannst du nach Belieben erweitern.


Grüße

Michael
  Mit Zitat antworten Zitat
flosoft

Registriert seit: 23. Apr 2007
15 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Programm über TWebbrowser starten

  Alt 23. Apr 2007, 16:31
Hallo grips-net,

danke funktioniert so wie gewollt

Mußte allerdings iRun := pos('RUN:', URL); zu iRun := pos('run:', URL); ändern.
  Mit Zitat antworten Zitat
flosoft

Registriert seit: 23. Apr 2007
15 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Programm über TWebbrowser starten

  Alt 24. Apr 2007, 22:40
Hi grips-net,

Dein Lösung funktioniert wie gesagt super unter XP und IE6. Mit Vista und IE7 scheint aber irgendwas bei dem BeforeNavigate2 Ereignis anders zu sein.
Hat jemand eine Lösung?

Danke
  Mit Zitat antworten Zitat
grips-net

Registriert seit: 3. Sep 2004
Ort: St. Wendel
50 Beiträge
 
#5

Re: Programm über TWebbrowser starten

  Alt 25. Apr 2007, 10:11
Hallo flosoft,

ich habe die Lösung quasi so unter VISTA und IE 7 getestet. Was mein Programm nicht hat, ist das shellexecute. Statt dessen fange ich die Links ab und öffne ein Delphi-Formular.

Vielleich debugst du dein System mal und sagst mir wie weit du kommst:
  • Springt er in das Ereignis OnBeforeNavigate2?
  • Welchen Wert hat die Variable URL?
  • Was macht shellexecute wenn du es mit den identischen Parametern manuell (Button) aufrufst?


Grüße aus dem Saarland

Michael Gillen
  Mit Zitat antworten Zitat
flosoft

Registriert seit: 23. Apr 2007
15 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Programm über TWebbrowser starten

  Alt 25. Apr 2007, 11:15
Hi Michael,

danke für den Hinweis. War wohl schon zu müde, um das Problem genauer anzugehen.

Es liegt an der Routine, die meine Programme startet! Ich verwende nicht ShellExecute sondern CreateProcess.
Gut oder auch nicht - nun weis ich jedenfalls wo ich weiter suchen muss.



Grüße aus Köln
Florian
  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 10:34 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