Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi shellexecute soll eine verknüpfung öffnen (https://www.delphipraxis.net/134771-shellexecute-soll-eine-verknuepfung-oeffnen.html)

tomes-one 28. Mai 2009 14:48


shellexecute soll eine verknüpfung öffnen
 
hi leute,

ich möchte mit shellexecute ein verknüpfung öffnen, aber irgendwie funktioniert das nicht.

Ich muss aber die Verknüpfung nehmen, da ich noch auf eine ini-datei zurückgreifen muss wenn ich das eigentliche programm ausführe.


kann mir da mal jemand auf die sprünge helfen?

DeddyH 28. Mai 2009 15:00

Re: shellexecute soll eine verknüpfung öffnen
 
Der Code, mit dem Du es versuchst, wäre mal interessant.

P.S.: Willkommen in der DP :dp:

Nersgatt 28. Mai 2009 15:08

Re: shellexecute soll eine verknüpfung öffnen
 
In der Verknüpfung steht sicher als Parameter der Pfad zu der ini, oder? Du kannst den Parameter in ShellExecute auch direkt angeben. Dafür musst Du nicht den Umweg über die Verknüpfung gehen.

tomes-one 28. Mai 2009 15:19

Re: shellexecute soll eine verknüpfung öffnen
 
also der Wuellcode mit dem ich das versucht habe ist folgendermassen:

Shellexecute(Handle,'open','C:\MailMotor.exe','',' ',SW_SHOWNORMAL);

an welcher stelle muss ich den ini-verweis eintragen???

DeddyH 28. Mai 2009 15:27

Re: shellexecute soll eine verknüpfung öffnen
 
Klappt es, wenn Du als 5. Parameter den Pfad zur Ini einträgst?

tomes-one 28. Mai 2009 15:38

Re: shellexecute soll eine verknüpfung öffnen
 
also ich habe jetzt

Shellexecute(Handle,'open','C:\MailMotor.exe,'','C :\te.ini',SW_SHOWNORMAL)

versucht, aber da rührt sich nix und das is jetzt auch nicht mehr die verknüpfung sondern die richtige exe.

tomes-one 28. Mai 2009 16:46

Re: shellexecute soll eine verknüpfung öffnen
 
hey leute lasst mich nich hängen,

ich komm echt nich weiter und wäre super glücklich über eure hilfe.

gruß thomas

Nersgatt 28. Mai 2009 16:53

Re: shellexecute soll eine verknüpfung öffnen
 
Das ist kein Chat hier!

Laut http://www.zerbit.de/projekte/mailmotor.aspx müsste der Aufruf so heißen:
Delphi-Quellcode:
Shellexecute(Handle,'open','C:\MailMotor.exe,'','/ini:C:\te.ini',SW_SHOWNORMAL)

DeddyH 28. Mai 2009 16:55

Re: shellexecute soll eine verknüpfung öffnen
 
Du gibst die Exe an und wunderst Dich dann, dass die gestartet wird? Mit Pfad hatte ich nur den Pfad ohne Dateinamen gemeint.

[edit] Jens, hast Du da Parameter verwechselt? [/edit]

Assertor 28. Mai 2009 17:37

Re: shellexecute soll eine verknüpfung öffnen
 
Hi,

Zitat:

Zitat von DeddyH
[edit] Jens, hast Du da Parameter verwechselt? [/edit]

Würd ich auch sagen ;)

@TE: Verknüpfungen, d.h. ShellLinks, sind über ShellExecute ausführbar. Dabei wird jedoch der vollständige ShellLink-Dateiname benötigt. Wenn die Verknüpfung z.B. "foo starten" heißt, lautet der Dateiname des ShellLink "foo starten.lnk". Diese "lnk"-Datei übergibst Du als Datei Parameter dem ShelLExecute und es geht.

Aber ich würde bei einem so einfachen Aufruf auch auf die Verknüpfung verzichten...

Gruß Assertor

CodeX 28. Mai 2009 17:48

Re: shellexecute soll eine verknüpfung öffnen
 
Zitat:

Zitat von tomes-one
also ich habe jetzt

Shellexecute(Handle,'open','C:\MailMotor.exe,'','C :\te.ini',SW_SHOWNORMAL)

versucht, aber da rührt sich nix und das is jetzt auch nicht mehr die verknüpfung sondern die richtige exe.

Du solltest die Hochkommas richtig setzen. Da fehlt eins nach "exe" - noch vor dem Komma.
Oder gleich so:
Delphi-Quellcode:
ShellExecute(0,'open',PCHar('C:\MailMotor.exe'),nil,nil,SW_SHOWNORMAL);

Nersgatt 29. Mai 2009 06:33

Re: shellexecute soll eine verknüpfung öffnen
 
Zitat:

Zitat von DeddyH
[edit] Jens, hast Du da Parameter verwechselt? [/edit]

Ähhm, ja natürlich. :oops: Was soll man schon von mir noch Sinnvolles erwarten, wenn ich der erste bin, der die Bürotür aufschließt und der letzte bin, der die Tür wieder abschließen muss? Aber ich denke, der Fehler, den der OP gemacht hat, ist deutlich geworden.

tomes-one 29. Mai 2009 10:28

Re: shellexecute soll eine verknüpfung öffnen
 
@ Assertor

das hört sich ja gut an,ich werd das mit dem shelllink gleich mal ausprobieren.
und was ich noch fragen wollte: du meinst du würdest auf die verknüpfung verzichten. das würde ich ja auch gerne, aber wie lade ich dann die ini?

DeddyH 29. Mai 2009 10:30

Re: shellexecute soll eine verknüpfung öffnen
 
Steht doch bereits oben (nur mit vertauschten Parametern):
Delphi-Quellcode:
Shellexecute(Handle,'open','C:\MailMotor.exe','/ini:C:\te.ini',nil,SW_SHOWNORMAL);

tomes-one 29. Mai 2009 12:17

Re: shellexecute soll eine verknüpfung öffnen
 
also ick hab dat so ausprobiert und dat will nich funktioniern.
:pale:

DeddyH 29. Mai 2009 12:20

Re: shellexecute soll eine verknüpfung öffnen
 
Was genau funktioniert denn nicht? Startet das Programm erst gar nicht, oder wird die Ini nicht berücksichtigt? Du musst uns schon genauere Angaben machen. Wenn das Programm nicht startet, lass Dir mal den Rückgabewert von ShellExecute ausgeben.

tomes-one 29. Mai 2009 16:44

Re: shellexecute soll eine verknüpfung öffnen
 
hey leute ick hab mir jetzt schinwieder nen paar stunden den kopf darüber zabrochen wie das funktionieren soll.
ich wäre euch echt dankbar wenn mal jemand sich dieses programm mailmotor runterladen könnte und das mal versucht zum laufen zubekommen per shellexecute.

thx thomas

DeddyH 29. Mai 2009 17:02

Re: shellexecute soll eine verknüpfung öffnen
 
Zumindest ich werde das nicht tun, solange Du nicht einmal in der Lage bist, uns mitzuteilen, was denn nicht funktioniert :evil: .

tomes-one 15. Jun 2009 12:54

Re: shellexecute soll eine verknüpfung öffnen
 
hey leutz, ich danke für eure hilfe, ich hatte in der letzten zeit viel um die ohren.
nachdem ich mir alles nochmal in ruhe angesehen habe, habe ich es jetzt hinbekommen...danke an alle beteiligten


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz