Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Shellexcecute wird nicht ausgeführt (https://www.delphipraxis.net/5444-shellexcecute-wird-nicht-ausgefuehrt.html)

__patrik 6. Jun 2003 11:28


Shellexcecute wird nicht ausgeführt
 
Hallo zusammen,

gibt es eine Einstellung unter Windows die die Ausführung eines Shellexcecute-Befehls unterdrücken kann?
Folgender Befehl sollte den Standardbrowser mit der übergebenen Adresse starten. Funzt auf manchen Rechnern auf anderen Passiert garnix:-(

Code:
 tempchar := pchar('http://www.irgendeineAdresse.de');
 Shellexecute( Application.MainForm.Handle, nil, tempchar , nil, nil, SW_SHOW);
Er wird durch ein OnMousedown-Ereignis in einer Listviewkomponente ausgeführt.

Wer weiss Hilfe?

MfG
Patrik

Christian Seehase 6. Jun 2003 11:39

Moin Patrik,

als erstes würde ich mal das Verb mit dazuschreiben

Delphi-Quellcode:
Shellexecute( Application.MainForm.Handle, 'open', tempchar , nil, nil, SW_SHOW);
Bei nil sollte zwar, i.d.R., open automatisch genommen werden, aber sicher ist sicher ;-)

Sollte das auch nicht gehen, schau Dir mal an, ob denn für HTTP überhaupt ein Verknüpfung vorhanden ist.

Zu finden unter:

HKEY_CLASSES_ROOT\http\shell\open\command

__patrik 6. Jun 2003 11:49

Dankeschön,

das war das wonach ich gesucht habe!

:-)
patrik

__patrik 7. Jun 2003 09:56

Hallo Chris,

war wohl ein wenig vorschnell von mir geschossen.
Kann es noch eine andere Möglichkeit geben warum Shellexcecute net ausgeführt wird?
Das Problem tritt hauptsächlich bei Systemen auf auf denen AOL installiert ist. Verändert die AOL-Software irgendwas was das Ausführen verhindert?

:cry:

Patrik

Christian Seehase 7. Jun 2003 13:43

Moin Patrik,

was steht denn in der Registry? (Pfad siehe oben)

__patrik 8. Jun 2003 11:06

Hallo Chris,

das mit dem Registrierungspfad ist genau so wie du es beschrieben hast.

Bin ein wenig knapp an Ideen:-(

MfG
patrik

Christian Seehase 8. Jun 2003 12:44

Moin Patrik,

was jetzt eventuell die AOL Software auf dem Rechner nacht weiss ich leider auch nicht. Ich kann also nicht beurteilen ob die hierbei eine Rolle spielt.

Was passiert denn, wenn man bei den Rechnern, bei denen es nicht funktioniert direkt aus dem Favoritenordner eine HTTP Url doppelt klickt?

__patrik 10. Jun 2003 17:52

Hallo Chris,

ganz nach dem Motto: "wenns net geht fang was neues an" hab ich das Codebeispiel von MathiasSimmack aus dem API-Forum genommen und versucht das zum laufen zu bekommen, aber es will net so recht. Er liest zwar die ie.exe richtig ein aber nix passiert:-(
Code:
{ ... }
procedure checkReg;
var
  reg : TRegistry;
  cmd : string;
begin
  reg := TRegistry.Create(KEY_READ);
  with reg do
  try
    RootKey := HKEY_CLASSES_ROOT;
    if(OpenKey('http\shell\open\command',false)) then
    try
      cmd := ReadString('');
    finally
      CloseKey;
    end;
  finally
    Free;
  end;

  ShellExecute(0,
    'open',
    pchar(cmd),
    'http://www.delphipraxis.net',
    nil,
    SW_SHOWNORMAL);
end;
Bitte Hilfe :?:

Patrik

Vielleicht hätte ich doch lieber Orgelbauer oder Kerzenschnitzer werden sollen!

__patrik 10. Jun 2003 18:25

Hallo Chris,

problem hat sich erledigt! Habe anstatt der Shellexecute die RunProcess-Routine von Luckylucy genommen.
Funzt wunderbar:-)

Danke
Patrik :bounce2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 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