Entwickler-Ecke

Sonstiges (Delphi) - Fremde Anwendung aus meiner heraus starten


Braindeer - Sa 13.07.02 23:11
Titel: Fremde Anwendung aus meiner heraus starten
Ich bin noch ziemlicher Delphi-Anfänger...

Ich suche einfach nur den Befehl den ich brauche wenn ich von einem Delphi-Programm aus eine andere Applikation aufrufen will. Danach soll das Delphi-Prog die Kontrolle wiederhaben.

Danke im Voraus!
:D
Gruss BD

Titel geändert. Siehe Richtlinien. TINO


Doc Brown - So 14.07.02 01:53
Titel: RE: Saublöde frage
Hallo Braindeer

mach dir nix draus, sowas kann man als Neuling gar nicht wissen, ich weiß es aus eigener Erfahrung :D

Um Anwendung zu starten gibt es mehrere Möglichkeiten,
hier die 2 häufigsten:

1. WinExec (ruft eine Anwendung auf)

Quelltext
1:
2:
3:
4:
WinExec(
             lpCmdLine,  // Aufruf
             uCmdShow   // welcher Style das Fenster haben soll 
            );


z.B.:

Quelltext
1:
2:
WinExec(PChar('C:\Programme\Winamp\Winamp.exe c:\Test.mp3'),
                     SW_SHOWNA);



2. ShellExecute (ruft eine Anwendung auf, die mit der Dateiendung
verknüpft ist. z.B. wird eine Textdatei mit Notepad geöffnet.)

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
ShellExecute(
                    hwnd,             // handle to parent window
                    lpOperation,    // pointer to string that specifies
                                             operation to perform
                    lpFile,            // pointer to filename or folder name string
                    lpParameters,  // pointer to string that specifies 
                                             executable-file parameters 
                    lpDirectory,     // pointer to string that specifies
                                             default directory
                    nShowCmd     // whether file is shown when opened);
                  );


z.B.:

Quelltext
1:
2:
ShellExecute(0, Nil, PChar('http://pruegelpause.lycos.de/'),
                           NIL, NIL, SW_NORMAL)


Rückgabewert : Bei Fehler liefert ShellExecute einen Wert von 0 bis 32
Wenns geklappt hat, bekommst du das Handle der
Anwendung zurück.

Grüße Doc Brown 8)


DeCodeGuru - So 14.07.02 10:44

Hi,

also ich würde ShellExecute nehmen, weil WinExec nur noch aus Kompotibilitätsgründen vorhanden ist. Ich kann mich aber auch täuschen ;-)


Alfons-G - So 14.07.02 11:09

Du täuschst Dich nicht - WinExec soll nicht mehr verwendet werden.
Aktuell sind ShellExecute (einfacher) und CreateProcess (vielseitiger). Infos dazu gibt's in der API-Hilfe.

:idea:


Pit - So 14.07.02 16:06



Pit - So 14.07.02 16:10



Braindeer - Di 16.07.02 13:33

Hallo zusammen,

vielen Dank, Problem gelöst, WinAmp hört auf meine Fernbedienung :wink:

Gruss BD