Autor Beitrag
Coronder
Hält's aus hier
Beiträge: 8



BeitragVerfasst: 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 user profile iconChristian S.: Topic aus Off Topic verschoben am Di 18.06.2013 um 16:28
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Mo 17.06.13 19:28 
Ich denke, Du suchst ShellExecute, ShellExecuteEx oder CreateProcess.
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Di 18.06.13 05:40 
user profile iconCoronder hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Di 18.06.13 15:35 
Und welcher Fehler tritt auf? Wie sieht Dein Code aus? Meine Glaskugel ist gerade zur Politur.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Fr 21.06.13 19:20 
wie schreibe ich den command genau egal für was
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Fr 21.06.13 20:25 
Prinzipiell so (ganz einfache Variante):
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.

user profile iconCoronder hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 22.06.13 13:27 
ShellExecute hat ein paar mehr Parameter...
Nur ein Pfad reicht da nicht.

user profile iconWasWeiß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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Sa 22.06.13 22:06 
ja ich schreibe mit lazerus oder delphi
Lelf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 42
Erhaltene Danke: 21



BeitragVerfasst: Sa 22.06.13 22:31 
Hallo Coronder,

versuchdochmaldeinefaulheitabzulegen.

Gruß Lelf.
Coronder Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Sa 22.06.13 22:37 
geht nicht
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 22.06.13 22:51 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: Coronder
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Sa 22.06.13 22:53 
user profile iconCoronder hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: 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



BeitragVerfasst: Sa 22.06.13 23:15 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Coronder Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Sa 22.06.13 23:26 
ja es zeigt keine anderen meldungen mehr an


Coronder