Autor |
Beitrag |
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 17.06.13 19:20
Hi leute
ich schreibe weil ich so faul bin ein quick start menü per button und frage euch ob es einen command gibt um eine exe per button zu öffnen
Danke im vorraus
Coronder Moderiert von Christian S.: Topic aus Off Topic verschoben am Di 18.06.2013 um 16:28
|
|
WasWeißDennIch
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Mo 17.06.13 19:28
|
|
Gerd Kayser
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Di 18.06.13 05:40
Coronder hat folgendes geschrieben : | ich schreibe weil ich so faul bin ein quick start menü per button und frage euch ob es einen command gibt um eine exe per button zu öffnen |
Für so etwas Triviales reichen doch Verknüpfungen auf dem Desktop oder in einer der Schnellstartleisten.
|
|
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 18.06.13 15:19
Ja ich suche ShellExecute aber es klappt bei mir nicht
Und nein ich möchte den Desktop nicht so voll machen
Aber dass mit CreateProcess kannst du mir mal erklären
|
|
WasWeißDennIch
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Di 18.06.13 15:35
Und welcher Fehler tritt auf? Wie sieht Dein Code aus? Meine Glaskugel ist gerade zur Politur.
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 18.06.13 16:39
Meine Glaskugel sagt, dass du versuchst einen String als Parameter reinzustecken, obwohl ein PChar erwartet wird. Wenn der Fehler kommt, dass String und PChar nicht kompatible Typen sind, musst du auf PChar casten.
Dass du Fehlermeldungen nicht gleich nennst, ist aber schon ein wenig... seltsam.
|
|
WasWeißDennIch
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Di 18.06.13 16:45
Oder ShellAPI nicht in der uses-Klausel, relative Pfade, Tippfehler, falsche Parameter belegt usw. usf. Aber das ist alles Stochern im Nebel.
|
|
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 21.06.13 19:20
wie schreibe ich den command genau egal für was
|
|
WasWeißDennIch
Beiträge: 653
Erhaltene Danke: 160
|
Verfasst: Fr 21.06.13 20:25
Prinzipiell so (ganz einfache Variante):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| uses ..., ShellAPI;
function StartProgram(const Progname, Parameters: string): Boolean; const MAX_SE_ERRORCODE = 32; begin Result := ShellExecute(0, 'open', PChar(Progname), PChar(Parameters), nil, SW_SHOW) > MAX_SE_ERRORCODE; end; |
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 21.06.13 21:26
Wobei die 0 für das Handle dazu führt, dass Nachfragen wie der UAC Prompt nur in der Taskleiste blinken, da kein sichtbares Fenster dem startenden Programm zugeordnet ist... Deshalb sollte man da schon etwas angeben, z.B. das Handle des eigenen Hauptfensters.
Coronder hat folgendes geschrieben : | wie schreibe ich den command genau egal für was |
Viel sinnvoller wäre es, wenn du schreibst was du versuchst. Wenn du stattdessen nur anderen Quelltext kopierst, lernst du nichts, weil du evtl. gar nicht verstehst was du falsch gemacht hast...
|
|
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Sa 22.06.13 13:02
ich versuche per button einen pfad zu öffnen und das ende des pfades ist eine .exe so
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
LCLIntf, ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute("Pfad")
end;
das versuche ich zu machen aber es funktioniert nicht
kann mir jetzt einer konkret weiterhelfen!!!!!!
Coronder
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 22.06.13 13:27
ShellExecute hat ein paar mehr Parameter...
Nur ein Pfad reicht da nicht.
WasWeißDennIch hat dir den Link zur Dokumentation ja schon geschrieben:
msdn.microsoft.com/e...53%28v=vs.85%29.aspx
Dort sind die Parameter alle beschrieben.
Außerdem hat er dir in seinem letzten Post ja sogar ein fertiges Beispiel geliefert...
Das sieht mir dazu noch nach Lazarus aus, ob da die Unit ShellAPI existiert, weiß ich nicht.
|
|
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Sa 22.06.13 22:06
ja ich schreibe mit lazerus oder delphi
|
|
Lelf
Beiträge: 42
Erhaltene Danke: 21
|
Verfasst: Sa 22.06.13 22:31
Hallo Coronder,
versuchdochmaldeinefaulheitabzulegen.
Gruß Lelf.
|
|
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Sa 22.06.13 22:37
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 22.06.13 22:51
- Nachträglich durch die Entwickler-Ecke gelöscht -
Für diesen Beitrag haben gedankt: Coronder
|
|
OlafSt
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Sa 22.06.13 22:53
Coronder hat folgendes geschrieben : | geht nicht |
Du willst also deine Faulheit, uns mit notwendigen Informationen zu versorgen, nicht aufgeben.
Nun, dann geben wir unsere Faulheit, dir absolut nicht helfen zu wollen, auch nicht auf.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
|
|
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Sa 22.06.13 23:04
Danke Frühlingsrolle es klappt aber er zeigt trotzdem einen fehler an
unitmenue.pas(73,11) Warning:Symbol"commandline" is deprecated
Coronder
P.S gutes Zitat
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 22.06.13 23:15
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
Coronder
Hält's aus hier
Beiträge: 8
|
Verfasst: Sa 22.06.13 23:26
ja es zeigt keine anderen meldungen mehr an
Coronder
|
|