Einzelnen Beitrag anzeigen

Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#1

Windows Autostarts über ShellExecute ausführen lassen

  Alt 12. Sep 2006, 19:21
Hallo DP!



Ich stehe gerade vor einem kleinen Problem. Und zwar habe ich mir ein Programm geschrieben welche die wichtigsten Autostarts von Windows raussucht und eine direkte Funktion zum starten bietet.

Dummerweise stehen im Autostart verschiedene Arten der Zielangabe da.

Zum Beispiel so was:

"[Programmpfad auch mit Leerzeichen]\[Dateiname]" -[Parameter] (also die normale Angabe)
[Programmpfad auch mit Leerzeichen]\[Dateiname] -[Parameter] (So sollte es eigentlich nicht gemacht werden, trotzdem habe ich solche Autostarts)
[Programmpfad auch mit Leerzeichen]\[Dateiname] (Also das selbe wie drüber nur ohne Parameter)
"[Programmpfad auch mit Leerzeichen]\[Dateiname]" (Und nochmal mit Anführungsstrichen)

Da ich die Dateien über ShellExecute starten lasse möchte ich auch gerne die Parameter getrennt angeben (dazu gibts ja extra den Parameter in ShellExecute)

Nur weiß ich gerade nicht wie ich alle 4 Varianten berücksichtigen soll. Ich dachte mir schon, da der Parameter immer ein Leerzeichen davor hat einfach von hinten nach einem Leerzeichen zu suchen - wenn keine Anführungsstriche gesetzt sind - und alles davor ist Dateiname/pfad und danach ist der eine Parameter. Da zieht mir Variante 3 nur einen Strich durch die Rechnung.

Kann mir jemand eine Möglichkeit nennen alle 4 Varianten zu berücksichtigen?

Natürlich könnte ich den String von Links nach Rechts durchgehen und bei jedem Leerzeichen gucken obs den String links als Datei gibt und der Rest ist dann der Parameter aber ich finde das muss doch irgendwie einfacher gehen!


Flare
Willy Scheibel
  Mit Zitat antworten Zitat