Entwickler-Ecke
Windows API - Per Button .exe mit pfad offnen
Coronder - Mo 17.06.13 19:20
Titel: Per Button .exe mit pfad offnen
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
Gerd Kayser - 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 - 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 - Di 18.06.13 15:35
Und welcher Fehler tritt auf? Wie sieht Dein Code aus? Meine Glaskugel ist gerade zur Politur.
jaenicke - 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 - 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 - Fr 21.06.13 19:20
wie schreibe ich den command genau egal für was
WasWeißDennIch - 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 - 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 - 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
Coronder - Sa 22.06.13 22:06
ja ich schreibe mit lazerus oder delphi
Lelf - Sa 22.06.13 22:31
Hallo Coronder,
versuchdochmaldeinefaulheitabzulegen.
Gruß Lelf.
Coronder - Sa 22.06.13 22:37
geht nicht
Delete - Sa 22.06.13 22:51
- Nachträglich durch die Entwickler-Ecke gelöscht -
OlafSt - 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.
Coronder - 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
Delete - Sa 22.06.13 23:15
- Nachträglich durch die Entwickler-Ecke gelöscht -
Coronder - Sa 22.06.13 23:26
ja es zeigt keine anderen meldungen mehr an
Coronder
Tranx - So 23.06.13 08:10
Coronder,
kleiner Tipp: Computer sind doof! Die können nur das machen, was Du ihnen genau sagst, und sie machen auch nur das. Wenn Du ihnen sagst, sie sollen sich abschalten, dann machen sie das. Das einzige, was vielleicht sein kann, dass sie fragen, ob das wirklich sein soll. In deinem Fall: Schon die Frage ist merkwürdig, die Du gestellt hast:
"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"
die ist für uns schon etwas unverständlich, um so mehr für Computer. Was möchtest Du denn? Dass der Computer weiß, dass Du grade jetzt den Explorer öffnen willst? Hört sich wo wie App auf Android an. Menue mit Finger verschieben. Klappt nur mit Computer (wenigstens mit Windows < Windows 8) nicht.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!