Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#11

AW: *.Lnk Verknüpfungen funktionieren nicht.

  Alt 13. Mai 2017, 08:12
Emil - wir reden aneinander vorbei. Dein Screenshot zeigt den Windows-eigenen Dialog zu den Eigenschaften des Links. Schön und gut.
Relevant ist aber doch, was in Deinen Strings steht. Und das geht aus Deinen Screenshots nicht hervor. Auch wenn Du noch so sehr insistierst.
Im ersten Beitrag nutzt Du "ShellExecute", jetzt im letzten Beitrag "ShellExecuteAndWait", was eine eigene Routine ist - auch hier könnten Fehler verborgen sein.
Die Notation mit "@Path@" ist mir nicht bekannt und erscheint mir suspekt.

Rückgabewert von ShellExecute prüfen oder mit Werkzeugen wie dem ProzessExplorer von Microsoft mal schauen, wo Dein Programm hin will. Mehr fällt mir auch nicht ein.
ich bin jetzt aber auch raus.
Zitat:
Die Notation mit "@Path@" ist mir nicht bekannt und erscheint mir suspekt.
Das kann man sehen wie man will. Für mich ist das wichtig um den gesamt String zu parsen wie ich das nun im Code Händle sei mal dahingestellt.
Zitat:
Relevant ist aber doch, was in Deinen Strings steht.
Dort steht das was ich im vorherigen Beitrag geschrieben habe.

Zitat:
Dein Screenshot zeigt den Windows-eigenen Dialog zu den Eigenschaften des Links. Schön und gut.
Da sind 2 Kleine Bilder nicht gesehen ?
Dort steht der Komplette Pfad wie jetzt gepostet.

Wenn ich den Shortcut auslese bekomme ich diesen EXE-Pfad.
C:\Windows\Installer\{90160000-0011-0000-1000-0000000FF1CE}Icon.40BB677D.0A7A.4D43.9F72.5AE6F0E9 7EE2.exe
logischerweise wenn jemand mein Dokument als ScreenShot angesehen hätte wäre er alleine darauf gekommen.

also nun steht bei mir im Shellexecute string folgendes.
ShellExecuteAndWaitW(MainHandle, 'open', 'C:\Windows\Installer\{90160000-0011-0000-1000-0000000FF1CE}Icon.40BB677D.0A7A.4D43.9F72.5AE6F0E9 7EE2.exe', ''
'', SW_SHOW, true);

Das Problem ist nun der Pfad C:\Windows\Installer ist versteckt.
Wenn ich die Datei direkt im Ordner ausführen will kommt die Meldung "Ist keine zulässige Windows Anwendung"

Wenn ich aber den ShortCut auf dem Desktop direkt doppelklicke funktioniert das.
Und die Datei\Programm wird geöffnet.

Zitat:
ShellExecute hat immer einen Rückgabewert. Und dein Problem ist doch, dass es nicht funktioniert, also wieso sollte der Rückgabewert nichts aussagen?
Ich sage nochmal den braucht man nicht denn Windows wirft die Meldung von selbst wenn was nicht stimmt.
Ohne das man sich da selbst noch mit rumschlagen muss.

Zitat:
jetzt im letzten Beitrag "ShellExecuteAndWait", was eine eigene Routine ist - auch hier könnten Fehler verborgen sein.
Ja warum auch nicht.
Denn ich versuche auch nebenbei noch selbst auf die Lösung zu kommen.
Es könnte ja sein Das diese Anwendung eine gewisse zeit benötigt um zu starten und es deshalb nicht funktioniert.
Aber nach meinem Test liegt es daran definitiv nicht.

Ich habe auch schon die Attribute zugewiesen um versteckte Dateien lesen zu können
Aber ausführen lassen sie sich nicht.

fd.dwFileAttributes := 39; //NORMAL + READONLY + HIDDEN + SYSTEM + ARCHIVE

gruss

Geändert von EWeiss (11. Jul 2019 um 16:47 Uhr)
  Mit Zitat antworten Zitat