Es gibt schon ein paar nette Funktionen im Betriebssystem, die man nutzen kann. Weil es OS-Funktionen sind, geht es mit PChar natürlich einfacher:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var s : array[0..MAX_PATH]of char; begin ZeroMemory(@s,sizeof(s)); lstrcpy(s,'RUNDLL32.EXE C:\WINDOWS\system32\NvCpl.dll,NvStartup');
PathRemoveArgs(s); PathUnquoteSpaces(s); ShowMessage(s); end; |
Mit Strings müsstest du etwas mehr hantieren:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var s : string; begin SetLength(s,MAX_PATH); lstrcpy(@s[1],'"C:\Programme\Zone Labs\ZoneAlarm\zlclient.exe"'); SetLength(s,lstrlen(pchar(s)));
PathRemoveArgs(@s[1]); PathUnquoteSpaces(@s[1]);
ShowMessage(s); end; |
Wie gesagt, es gibt noch weitere wirklich gute Funktionen, die ich auch schon mal hier im Forum
vorgestellt habe.