Über HTML Button eine Applikation an triggern die Lokal abliegt ?

4 Antworten

das geht nicht.

Möglich wäre es via PHP ein Powershellscript auf dem Server zu starten (sofern PowerShell auf dem Server installiert ist), welches Programm auf dem Server startet. aber das wäre schon Quatsch.

Du kannst aber nicht vom Server aus ein Powershellscript auf Deinem lokalen Rechner oder einem Clientrechner starten...etc.

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

Nein, das ist in den meisten Browsern nicht möglich. Das gehört auch zu den meisten Browsern als grundlegendes Sicherheitskonzept. Es soll keine Seite möglich sein Programme zu starten oder auf das Dateisystem zugreifen zu können. Mit einer Öffnung würde man jedem Angreifer Türe und Tore öffnen und es wäre extrem gefährlich im Internet zu surfen. Browser sollten eher wie eine Sandbox arbeiten und keinen Zugriff auf das System erlauben. Mit Ausnahmen wie LocalStorage, Cookies und IndexedDB sollten keine lokalen Dateien oder Zugriffe entstehen.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)

Das geht mehr oder weniger. Natürlich ist der Zugriff auf deinen Computer begrenzt. Einige Programme bieten aber die Möglichkeit, dass man diese aufruft. Ich glaube bei vscode startet es mit vscode://... oder so.
Naja, wie gesagt, damit sollte es gehen. Alternativ hast du die Möglichkeit, dass der Client ein Programm installieren muss, was auf Befehle von der Seite lauscht. Das kannst du aber als Website Betreiber nicht installieren beim Client.

https://stackoverflow.com/questions/53140692/how-to-open-a-file-in-vscode-from-browser

Das geht (leider) nicht (mehr). PowerShell ist sehr mächtig, weshalb man damit auch viel Schaden anrichten kann. Wenn jetzt jede Seite PowerShell Befehle ausführen könnte, wäre das ne Katastrophe.

Es gibt aber eventuell noch eine andere Lösung...

Du könntest eine lokale API aufsetzen (z.B. mit expressjs) und dann zum Beispiel eine HTTP Request an localhost:8000/api/irgendwas senden. Den Express Server packst du in den Autostart rein und der Server führt dann bei einer Request einen PowerShell Befehl oder was anderes aus...

Woher ich das weiß:Hobby – Ich programmiere seit 5 Jahren