NetVision-Technik

Zurück   NetVision-Technik > Forum > Programmierung > Delphi / Pascal

Antwort
 
Themen-Optionen Ansicht
Alt 20.02.2009, 21:53   #1
Ein externes Programm ausführen
Bluesteel Bluesteel ist offline 20.02.2009, 21:53

Ein externes Programm ausführen

Mit dem Befehl ShellExecute(); kann man andere Programme oder sonstige Dateien aufrufen. Die Funktion verhält sich genau wie Start->Ausführen, Dateien werden mit dem zugeteilten Programm geöffnet, Programme gestartet, Internetadressen im Standardbrowser geladen.
Um den Befehl nutzen zu können, müsst ihr die Unit ShellAPI zu eurem Uses Bereich hinzufügen.

Der Befehl erwartet die folgenden Befehle:
Code:
ShellExecute(HWND hwnd, LPCTSTR Operation, LPCTSTR Dateiname, LPCTSTR Parameter, LPCTSTR Verzeichnis, INT Anzeigemodus);
Erklärung der einzelnen Parameter:

HWND hwnd:
Einfach Application.Handle einsetzen. Der Parameter bestimmt den Parent des auszuführenden Programms, wenn in diesem Z.B. eine MessageBox käme, würde sie im eigenen Programm angezeigt werden.

LPCTSTR Operation:
Legt fest, was mit der Datei gemacht wird, drei Möglichkeiten: 'open', 'print' oder 'explore'.
'open' führt das angegebene Programm aus, öffnet sie oder öffnet den Ordner, je nachdem was als Dateiname angegeben wird.
'print' sollte nur bei Dokumenten verwendet werden, die dadurch gedruckt werden. Wird 'print' und ein Programm angegeben, wird dieses ausgeführt.
'explore' öffnet den angegeben Ordner im Explorer.

LPCTSTR Dateiname:
Der komplette Pfad der Datei, die ausgeführt/gestartet werden soll. Kann auch nur ein Ordnerpfad sein, dann wird dieser geöffnet.
Beispiel: 'C:\windows\winmine.exe

LPCTSTR Parameter:
Hier kann man dem Programm Parameter übergeben.
Wenn man ein Dokument öffnet, sollte hier nil eingesetzt werden.

LPCTSTR Verzeichnis:
Hier kann man das Verzeichnis, aus dem das Programm aufgerufen zu werden denkt, manipulieren, meist reicht es, hier nil einzusetzen.

INT Anzeigemodus:
Legt fest, wie das Programm angezeigt wird, viele Möglichkeiten:
  • SW_HIDE
  • SW_MAXIMIZE
  • SW_MINIMIZE
  • SW_RESTORE
  • SW_SHOW
  • SW_SHOWDEFAULT
  • SW_SHOWMAXIMIZED
  • SW_SHOWMINIMIZED
  • SW_SHOWMINNOACTIVE
  • SW_SHOWNA
  • SW_SHOWNOACTIVATE
  • SW_SHOWNORMAL
Für gewöhnlich reichen diese 4 völlig aus:
SW_SHOWNORMAL zeigt das Fenster in seiner normalen Größe an, SW_SHOWMAXIMIZED zeigt das Fenster maximiert an, SW_SHOWMINIMIZED zeigt es minmiert an und SW_HIDE zeigt es gar nicht an, ausgeführt wird es dennoch und auch im Task Manager ist der Prozess sichtbar.
Die anderen können bei Bedarf in der Hilfe nachgelesen werden.
__________________




 
Benutzerbild von Bluesteel
Bluesteel
Moderator
Punkte: 13.828, Level: 76 Punkte: 13.828, Level: 76 Punkte: 13.828, Level: 76
Levelaufstieg: 45% Levelaufstieg: 45% Levelaufstieg: 45%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Artikel Benutzer besitzt 1x Ideen-Spender Benutzer besitzt 1x Entwicker I Benutzer besitzt 1x Hilfe Level 3 Benutzer besitzt 1x Angel
Registriert seit: 27.05.2008
Ort: zu hause
Beiträge: 1.949
Abgegebene Danke: 501
Erhielt 265 Danke für 47 Beiträge
Downloads: 43
Uploads: 2
Nachrichten: 1391
Hits: 5239
Mit Zitat antworten
Alt 04.12.2009, 04:15   #2
enethype73
Neuling
Punkte: 722, Level: 14 Punkte: 722, Level: 14 Punkte: 722, Level: 14
Levelaufstieg: 22% Levelaufstieg: 22% Levelaufstieg: 22%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
 
Benutzerbild von enethype73
 
Registriert seit: 31.08.2009
Ort: United States
Beiträge: 8
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Downloads: 0
Uploads: 0
Nachrichten: 0
Renommee-Modifikator:
0 enethype73 befindet sich auf einem aufstrebenden Ast
Standard Ein externes Programm ausführen

Aber es muss doch noch ein anderes programm geben oder etwa nicht?
enethype73 ist offline   Mit Zitat antworten Nach oben
Alt 04.12.2009, 05:58   #3
Bluesteel
Moderator
Punkte: 13.828, Level: 76 Punkte: 13.828, Level: 76 Punkte: 13.828, Level: 76
Levelaufstieg: 45% Levelaufstieg: 45% Levelaufstieg: 45%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Artikel Benutzer besitzt 1x Ideen-Spender Benutzer besitzt 1x Entwicker I Benutzer besitzt 1x Hilfe Level 3 Benutzer besitzt 1x Angel
 
Benutzerbild von Bluesteel
 
Registriert seit: 27.05.2008
Ort: zu hause
Beiträge: 1.949
Abgegebene Danke: 501
Erhielt 265 Danke für 47 Beiträge
Themenstarter Themenstarter
Downloads: 43
Uploads: 2
Nachrichten: 1391
Renommee-Modifikator:
2196 Bluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes Ansehen
Standard

dies ist doch nur eine function es giebt zich möglichkeiten externe programme auszuführen diese möglichkit soll nur ein beispiel sein aber die function ShellExecute(); ist wohl die bekannteste und gebräuchlichste wenn du magst kannst du dir auch gern selbst eine function schreiben
__________________



Bluesteel ist offline   Mit Zitat antworten Nach oben
Alt 04.12.2009, 14:46   #4
Cerberus
Administrator
 
Benutzerbild von Cerberus
 
Registriert seit: 07.03.2008
Ort: 3. Bit Links hinter dem Kernel
Alter: 43
Beiträge: 9.558
Abgegebene Danke: 1.113
Erhielt 4.461 Danke für 454 Beiträge
Downloads: 18
Uploads: 9
Nachrichten: 2186
Renommee-Modifikator:
10 Cerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes Ansehen
Standard

ich suche mal raus, was ich da habe ...
das ist eine komplexe Version, die auch mit Rechten arbeitet ...
__________________

Fragen gehören ins Forum - und NICHT in mein Postfach !
Ich erteile KEINEN Privatunterricht über e-mail und PN !

Hackliste Br. NV nach Threadstarter u. Aktualität <--+--> Liste Hacks Bereich NV Alphabethisch
Cerberus ist offline   Mit Zitat antworten Nach oben
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Template-Modifikationen durch TMS