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 ShellExecute (https://www.delphipraxis.net/1581-shellexecute.html)

KI-Operator 10. Dez 2002 13:22


ShellExecute
 
moin,
ich habe zur Zeit ein echtes verständnis Problem irgentwie raff ich das mit dem ShellExecute nich und kann auch nichts finden was mir wirklich weiter hilft.:wiejetzt:
Delphi-Quellcode:
ShellExecute(Handle, nil, 'meine.exe', nil, nil, SW_SHOW);
kann mir da mal jemndan ein konkretes Beispiel mit z.B. der notepad.exe schreiben?

greetz
KI-Operator

Daniel 10. Dez 2002 13:35

Hallo und herzlich willkommen in der Delphi-PRAXiS,

ich habe mal die Suchfunktion dieses Forums bemüht und habe u.A. einen Verweis auf den folgenden Artikel erhalten:
DP-Library :: Windows-API :: Wie starte ich ein anderes Programm.

Dies sollte Dir weiterhelfen. :wink:

City Light 10. Dez 2002 13:39

Hallo KI-Operator!

Hast du in deiner Uses-klausel Shellapi stehen??
also...
Delphi-Quellcode:
uses
   Shellapi;

CalganX 10. Dez 2002 14:18

Hi,
wenn ich dich richtig' verstehe willst du wissen, wie man ShellExecute nutzt, richtig?
ShellExecute braucht folgende Parameter:
Delphi-Quellcode:
ShellExecute(
  nil, {ein FensterHandle, ich nehme immer nil (nichts)}
  'open', {der Befehl, was du machen willst. Hier: öffnen. Du kannst
           auch Sachen wie explore nehmen (Pfad im Explorer öffnen)}
  'c:\mydatei.txt', {Die Datei, die ausgeführt werden soll}
  nil, {Die Parameter für das Programm. Typ = PChar, deswegen nil}
  nil, {in welchem Pfad das ganze ausgeführt wird. Typ = PChar}
  SW_SHOWNORMAL {Der Anzeigetyp. Siehe OH}
);
Ansonsten auch mal in die OnlineHilfe schauen!

Chris

Nachtrag: Achja, wie bereits gesagt "ShellApi" in die USES aufnehmen!

MathiasSimmack 10. Dez 2002 17:28

Zitat:

Zitat von Chakotay1308
Delphi-Quellcode:
ShellExecute(
  nil,...
);

Ergebnis:
Zitat:

Inkompatible Typen 'HWND' und 'Pointer'.
Wenn schon nichts, dann in dem Fall bitte Null (= 0) benutzen.

KI-Operator 10. Dez 2002 17:55

Thx @ all
werd ich gleich mal ausprobieren

@daniel
genau da hatte ich auch diese Zeile code her :)

xbu58 10. Dez 2002 18:33

Liste der Anhänge anzeigen (Anzahl: 1)
Hallo KI

Die Sache mit ShellExecute ist nicht ganz einfach, aber auch wieder nicht so problematisch wie es auf den ersten Blick aussieht. Ich habe Dir kein programm geschrieben. Aber in der Komponente GoToWeb setze ich diese Shell-Funktion ein, um den installierten Browser zu starten. Du kannst diese einfach in ein Package einbinden, um sie einzusetzen. Geh mit dem Debugger in die Execute-Methode und sieh Dir an, was da gemacht wird.

Für das Starten von andernen Programmen setze ich jedoch nicht die Shell-Funktion ein, da sie für mich nicht besonders geeignet ist. Anstelle davon verwende ich CreateProcess die ich ebenfalls in einer Komponente abgekappselt habe. Diese Windows-Funktion hat bedeutend mehr Möglichkeiten, was hauptsächlich mit NT Vorteile bringt.

Gruss
xb

xbu58 10. Dez 2002 18:41

Domain-Name auslesen
 
Hallo

Ich suche nach einer Möglichkeit, um die Windows-Domain-User auszulesen. Ich habe zwar die Funktionen für das auslesen der lokalen User gefunden (NetQueryDisplayInformation). Damit sollte man auch die Domain-User auslesen können. Nun fehlt mir aber eine Möglichkeit, wie man den Domain-Name auslesen kann. Kann mir da jemand weiter helfen?

Gruss
xb :cry:

Christian Seehase 10. Dez 2002 18:50

Moin xb,

erst einmal herzlich willkommen.

Wenn Du CreateProcess bevorzugst, dann könntest Du Dir auch mal ShellExecuteEx ansehen.
Da dürfte Dir einiges bekannt vorkommen.

Zu Deiner Frage:
Bist Du bitte so gut für neue Fragen auch einen neuen Thread aufzumachen?
Danke.

BTW:
Ich glaube ich habe schon eine Idee, wie sich Dein Problem lösen lässt.


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