Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Chrome lässt sich nicht mit shellexecute starten (https://www.delphipraxis.net/158371-chrome-laesst-sich-nicht-mit-shellexecute-starten.html)

Sepplo 15. Feb 2011 12:13

Chrome lässt sich nicht mit shellexecute starten
 
Hallo!

Ich hab folgendes Problem:

ich kann Google Chrome nicht mit ShellExecute starten.

ich benutze ganz normal:

Code:
ShellExecute(0, 'open', PChar(a), '', '', SW_SHOW);
funktioniert auch mit jeder anderen Anwendung / Ordner etc nur wenn ich den Pfad zur chrome.exe angebe kommt ein "Windows - Application Error" The Application was unable to start correctly (0x00000a5). Click ok to Close the application.

Ich benutze irgendein Uralt-Delphi (Version 7) und hab nen Win7 Prof 32bit.

Irgendwelche Idee, woran das liegen könnte?

Grüße

Seppl

s.h.a.r.k 15. Feb 2011 13:21

AW: Chrome lässt sich nicht mit shellexecute starten
 
Bei mir geht das hier wunderbar:
Delphi-Quellcode:
uses ShellAPI;

procedure TForm2.Button1Click(Sender: TObject);var
  ChromeFilename : String;
begin
  ChromeFilename := 'C:\Users\<username>\AppData\Local\Google\Chrome\Application\chrome.exe';
  Button1.Caption := IntToStr( ShellExecute(0, 'open', PChar(ChromeFilename), '', '', SW_SHOW) );
end;

turboPASCAL 15. Feb 2011 13:47

AW: Chrome lässt sich nicht mit shellexecute starten
 
Wenn Ihr schon "leere Zeiger" (das PChar mit '') nehmt, nutzt doch bitte nil.

@Sepplo

Was steht denn in der Variable "a" ? Ist Chrome der Standardbrowser?

himitsu 15. Feb 2011 14:00

AW: Chrome lässt sich nicht mit shellexecute starten
 
Und hilft es, wenn du auch mal das Arbeitsverzeichnis mit setzt?
Und für 'open' ebenfalls mal NIL probieren.

Sepplo 15. Feb 2011 14:55

AW: Chrome lässt sich nicht mit shellexecute starten
 
also mein a ist C:\Program Files\Google\Chrome\Application\chrome.exe

das mit dem arbeitsverzeichnis hab ich schonmal probiert, aber es ging nicht! wie würde der befehl dann aussehen? vllt hab ich mich auch vertan

nils in allen varianten hinschreiben (auch für 'open') hab ich schon probiert geht alles nicht :|

er öffnet den browser sogar nur, gibt er mir sofort den fehler, danach bleibt der browser aber offen, ist aber komischer weise nicht meinem theme angepasst und lässt sich auch nicht bedienen, vllt bringt diese info ja was...

s.h.a.r.k 15. Feb 2011 14:59

AW: Chrome lässt sich nicht mit shellexecute starten
 
Wo liegt denn bitte Chrome bei dir? Wie kommt Chrome an diese Stelle? oO Vielleicht hat das Problem ja was mit Schreibrechten zu tun?

WM_CLOSE 15. Feb 2011 15:38

AW: Chrome lässt sich nicht mit shellexecute starten
 
Könnte das Problem vielleicht darin liegen, dass ein 32 Bit Programm kein 64-Bit prog mittels ShellExecute aufrufen kann?

shmia 15. Feb 2011 15:45

AW: Chrome lässt sich nicht mit shellexecute starten
 
Und wie schaut's damit aus?
Delphi-Quellcode:
function OpenURL(const url: string): Boolean;
begin
   Result := ShellExecute(0, 'open', PChar(url), nil, nil, SW_SHOW) > 32;
end;
....

if not OpenURL('http://www.delphipraxis.net') then
  Raiselastwin32Error;
Windows verwendet hier natürlich den Standardbrowser; das dürfte auf deinem Rechner Chrome sein.

Sepplo 15. Feb 2011 17:33

AW: Chrome lässt sich nicht mit shellexecute starten
 
schreibrechten? kann sein :) keine ahnung! ich hab chrome über Google Pack installiert und dann kommt es dahin, hat mich genervt, dass es im user verzeichnis war :)

@WM_close: daran kanns eigentlich nicht liegen, weil chrome selber ja auch auf 32 bit läuft... außerdem ist es das einzige Programm, was Probleme dieser Art liefert.

@shmia: hab ich auch schon probiert, lklappt auch nicht!!


Was ich gerade gemerkt habe: Wenn ich zB einen Link aus Thunderbird heraus öffnen will, klappt das auch nicht... liegt also eventuell gar nicht an delhpi, muss ma nochma googlen!
Trotzdem weiterhin gerne tips :)

shmia 15. Feb 2011 17:40

AW: Chrome lässt sich nicht mit shellexecute starten
 
Deine Chrome-Installation ist defekt.
Dazu gibt es folgende Tests:
1.) Start(linke untere Ecke)->Ausführen aufrufen und eine URL (inklusive Http://) eingeben.
2.) Eingabeaufforderung starten und
Code:
C:\>
C:\> start http://www.google.de
eingeben.
In beiden Fällen muss ein Browser aufgehen und die Seite laden.
Falls nicht ist was faul.

Sepplo 15. Feb 2011 17:42

AW: Chrome lässt sich nicht mit shellexecute starten
 
ich hab das Problem gelöst:

ich musste das Programm im Kompatibilitätsmodus starten! wenn man dann daraus shellexecute startet, wird das Programm automatisch auch im Komp-modus gestartet und das mag Chrome nicht! Ich hatte den Modus damals eingeschaltet, weil mein Prog unter win7 nicht fehlerfrei lief... hab ihn gerad ausgeschaltet und es funktioniert noch alles inkl. Chrome öffnen :)

Ich danke vielmals für eure Hilfe!

kann man das ding hier irgendwie als "gelöst" markieren?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz