Die
compact.exe (also dieses Programm) wird intern die gleichen
API-Aufrufe machen.
Von daher ist es vom Ergebnis das Gleiche, ob ich die
API-Aufrufe direkt mache oder eine beliebige externe Anwendung (wie hier die
compact.exe) die diese
API-Aufrufe macht.
Bei einer vorgefertigten Anwendung muss ich mit dem leben wie es dort umgesetzt ist, macht man die
API-Aufrufe direkt, dann kann man das nach Gutdünken selber zusammenstecken.
Trotz allem bleibt es beim ShellExecute/Ex, dass hier eine
externe Anwendung aufgerufen wird. Ob diese nun zum Lieferumfang des Betriebssystems gehört oder nicht ist dabei völlig unerheblich.
Das ist weder gut noch schlecht, sondern einfach nur so.
Ein
API-Aufruf geht technisch gesehen an eine
DLL und die ist auch extern (allerdings etwas anders extern als die Anwendung) und wenn diese
DLL fehlt, dann geht auch der
API-Aufruf in die Hose. Die externe Anwendung allerdings auch, denn die ruft ja auch die
API (
DLL) auf, die dann fehlt.
In diesem Sinne ein schönes Wochenende