![]() |
Eine frage zum öffnen von exen
ich wollte mal fragen wie man eine exe per button klick in einem anderen programmm öffnet während die exe in einem anderem Verzeichnis ist als das programm mit dem ich es starten will
|
Re: Eine frage zum öffnen von exen
ShellExecute() mit Angabe des kompletten Pfades
|
Re: Eine frage zum öffnen von exen
ehm danke ^^ ich hab noch ne frage ich will das Programm auch anderen leuten geben aber die hab z.B einen anderen Pfad als ich nur der end ordner stimmt über ein was muss ich dann da rein schreiben?
|
Re: Eine frage zum öffnen von exen
Dann musst Du den Pfad dynamisch ermitteln.
|
Re: Eine frage zum öffnen von exen
Zitat:
|
Re: Eine frage zum öffnen von exen
Welcher Pfad ist es denn? Danach richtet sich die Funktion, die benutzt werden sollte.
|
Re: Eine frage zum öffnen von exen
Es kommt aufs Programm an. Manche Pfade findest du in der Registry.
Du kannst natürlich auch beim ersten Programmstart den Benutzer das Verzeichnis wählen lassen und dies dann speichern und darauf zugreifen. |
Re: Eine frage zum öffnen von exen
Zitat:
|
Re: Eine frage zum öffnen von exen
Das geht entweder mittels SelectDirectory() oder per Komponente. Im OpenSource-Bereich gibt es AFAIR eine Komponente von Garfield für solche Zwecke. Abspeichern könntest Du den Pfad dann z.B. in einer Ini-Datei oder in der Registry.
|
Re: Eine frage zum öffnen von exen
Benutze doch mal die Suche, dann findest du
![]() Grüße |
Re: Eine frage zum öffnen von exen
Zitat:
|
Re: Eine frage zum öffnen von exen
Beispiel wofür? Einen Link zum Auswählen eines Verzeichnisses hat Matze Dir ja weiter oben bereits gepostet. Bei Folgefragen bzgl. Ini oder Registry dann aber bitte einen neuen Thread eröffnen oder besser noch die Suchfunktion bemühen, gell? ;)
|
Re: Eine frage zum öffnen von exen
Zitat:
|
Re: Eine frage zum öffnen von exen
Da die Funktion SelectDirectory() schon recht alt ist sollte man lieber auf SHGetSpecialFolderLocation() zurückgreifen.
Delphi-Quellcode:
Da heute Sonntag ist mach ich mal Ausnahmsweise kein kleines Codebeispiel.
implementation
{$R *.dfm} uses ShellAPI, ShlObj; var ExecAppPath: string; function OpenFolder(root: Integer = 0; Caption: string = ''): string; var bi: TBrowseInfo; lpBuffer: PChar; pidlPrograms, pidlBrowse: PItemIDList; begin if (not SUCCEEDED(SHGetSpecialFolderLocation(GetActiveWindow, root, pidlPrograms))) then exit; lpBuffer := StrAlloc(MAX_PATH); bi.hwndOwner := GetActiveWindow; bi.pidlRoot := pidlPrograms; bi.pszDisplayName := lpBuffer; bi.lpszTitle := PChar(Caption); bi.ulFlags := BIF_RETURNONLYFSDIRS; bi.lpfn := nil; bi.lParam := 0; pidlBrowse := SHBrowseForFolder(bi); if (pidlBrowse <> nil) then if SHGetPathFromIDList(pidlBrowse, lpBuffer) then Result := lpBuffer; StrDispose(lpBuffer); end; procedure RunExternalApplication(ApplicationPath, ApplicationName, Parameters: string); var ExecError: integer; begin ExecError := ShellExecute( Application.Handle, 'open', PCHAR(ApplicationName), PCHAR(Parameters), PCHAR(ApplicationPath), SW_NORMAL); if ExecError <= 32 then ShowMessage(format('Fehler beim starten von "%s"'#13'Fehlernummer: %d', [ApplicationName, ExecError])); end; procedure TForm1.Button1Click(Sender: TObject); begin if ExecAppPath = '' then ExecAppPath := OpenFolder; if ExecAppPath <> '' then RunExternalApplication(ExecAppPath, 'nuppsy.exe', ''); end; end. |
Re: Eine frage zum öffnen von exen
Das wurde bereits verlinkt. ;)
|
Re: Eine frage zum öffnen von exen
Außerdem gibt es von SelectDirectory eine überladene Variante, die ist nicht so "alt".
|
Re: Eine frage zum öffnen von exen
Zitat:
Zitat:
|
Re: Eine frage zum öffnen von exen
Zitat:
|
Re: Eine frage zum öffnen von exen
Achso der, ich dachte schon es gäbe etwas neueres... Naja wers nutzen will.
|
Re: Eine frage zum öffnen von exen
kommt zwar jetzt ein bisschen spät aber ich kann zwar ein Pfad bestimmen aber die exe wird noch immer nicht geöffnet.
Oder kann ich nit einfach eine Verknüpfung von einer exe in den ordner tun wo das Programm von mir ist und dann öffnet das Programm über die Verknüpfung das andere Programm ? x.x |
Re: Eine frage zum öffnen von exen
Mehr oder weniger schon, aber einfacher wird es dadurch auch nicht. ;)
|
Re: Eine frage zum öffnen von exen
Richtig, denn in der Verknüpfung steht ja auch der Pfad. Zeige mal bitte deinen Source, den du hast.
|
Re: Eine frage zum öffnen von exen
Zitat:
|
Re: Eine frage zum öffnen von exen
Zitat:
|
Re: Eine frage zum öffnen von exen
*auch mal unnötig mitmach*
Es wär dennoch seh nett, wenn du das nächste Mal etwas mehr auf deinen Satzbau und den Inhalt achtest. Denn es ist nicht grad einfach sowas zu lesen und ich glaub mit der Zeit haben nicht mehr viele die Lust sich sowas anzutun und werden dann vermutlich garnicht erst anfangen es zu lesen. Abgesehn davon, daß es sogar gegen die AGB verstößt. |
Re: Eine frage zum öffnen von exen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 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