![]() |
Einfache Variante eine Verknüpfung mit Delphi zu erstellen
Weiß jemand zufälligerweise wie ich eine Art Verknüpfung eines Programmes erstellen kann? Also,
dass auf einer Form ein Image ist und wenn man draufklickt öffnet sich eine .exe Datei. Mit freundlichen Grüßen Ghost! |
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Das sollte mit
![]() |
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Da sind jetzt fehler Problemthemen und Fragen zu ShellExecute aber keine Erläuterungen. Soweit ich das gesehen hab war nicht mal eine bei "Tutoirals und Kurse" dabei.
Was ist den ein ShellExecute und wie verwendet man das? Könntest du mir dazu ein Tutorial schickek? (Nur falls du eins kennst natürlich) Oder gibt es da vielleicht eine andere Lösung. Es soll so sein das man beim ersten starten einmal die Verknüpfungen erstellt und sie dann immer dort sind, also damit man nicht bei jedem Programmstart neu öffnen muss. |
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Also, Du hast mehrere Images, und diese sollen bestimmte noch zuzuweisende Anwendungen starten, hab ich das richtig verstanden?
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Ja das ist genau das was ich will.
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Ja gut, dann gehen wir mal davon aus, dass die zu startenden Anwendungen als Liste vorliegen und irgendwie den Images zugewiesen sind. Das entsprechende Programm kannst Du dann mit
Delphi-Quellcode:
starten. Dazu muss ShellAPI in die uses-Klausel aufgenommen werden.
ShellExecute(0,'open',PChar(absoluter_Pfad_zum_Programm),PChar(Parameter),nil,SW_SHOW);
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Kann ich das "absoluter_Pfad_zum_Programm" als Variable angeben? Damit der Benutzer hinterher das Programm aussucht und der entsprechende Pfad dann in die Variable geschrieben wird? Und bei mir ist das "Parameter":
Zitat:
Danke schonmal ;D Mfg Ghost |
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
So war es gedacht. Für absoluter_Pfad_zum_Programm und Parameter musst Du dann die entsprechenden Stringvairablen einsetzen.
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Was kommt den für "Parameter" in die Variable dazu fällt mir jetzt gar nichts ein!
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Das hängt ja vom zu startenden Programm ab, ob und welche Parameter es verarbeitet.
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Was genau versteht man denn unter einem Parameter? Was könnte das bei meinem Programm zum Beispiel sein? Ich habe grade in Google geguckt,
da stand in etwa: Ein Parameter ist etwas was das Endergebnis "nach oben oder nach unten hin" verändert. Daraus werde ich aber nicht so schlau. |
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Du kannst Programmen Startparameter mitgeben, die diese ggf. auswerten. Beispiel:
Code:
Hier ist das erste der Aufruf von Notepad und das zweite die beim Start zu öffnende Datei (ein Parameter).
C:\Windows\System32\notepad.exe C:\Datei.txt
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Aha jetzt verstehe ich. Aber wenn ich den Parameter nicht angeben und direkt:
C:\programm\test.txt Als komplettpfad eingebe dann wird das programm also hier die .txt datei doch direkt geöffnet, oder nicht? |
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Die wird dann mit dem für die Endung *.txt registrierten Programm(sofern vorhanden) geöffnet, richtig.
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Delphi-Quellcode:
Also bei mir passiert jetzt nichts. ShellApi hab ich mit angegeben.
var
Form1: TForm1; A : String; // Variable A wird aufgestellt implementation {$R *.dfm} procedure TForm1.btPfadClick(Sender: TObject); begin A:= EdPfad.Text; // Variable A wird definiert end; procedure TForm1.ImDateiClick(Sender: TObject); begin ShellExecute(0,'open',PChar(A),PChar(A),nil,SW_SHOW); // Hier soll sich etwas öffnen. end; Wie zeige ich denn jetzt an das etwas geöffnet wird weil sonst verstehe ich gar nicht richtig wieso ich ShellExecute überhaupt nutzen soll. |
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Lass Dir einmal den Rückgabewert von ShellExecute ausgeben. Ist der kleiner als 33, stimmt irgendetwas nicht.
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Wie lässt man sich den denn zurückgeben?
|
Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
Delphi-Quellcode:
var Errorcode: integer;
begin ErrorCode := Shellexecute(...); if Errorcode < 33 then ShowMessage(inttostr(ErrorCode)); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 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